Java 靛蓝盲蝽
我已经运行EclipseIndigo几个月了,我遇到了一个我似乎找不到答案的bug。我正在创建一个类似于马里奥、老塞尔达等的2d侧滚小游戏 我打算向爸爸展示我在程序中添加的新功能。我爸爸没有上楼去看我电脑上的程序,而是决定用我不确定的sudo屏幕查看程序。我们以前用过这个,基本上它所做的就是让你在同一个IP接口上看到家里另一台电脑的屏幕,你也可以使用这台电脑 我不想这样把我的节目给我爸爸看,所以我叫他上楼来。他做到了,从那以后,eclipse将不会在程序的JFrame中显示任何图形。它将显示诸如写在屏幕上的文字之类的内容,但不会显示任何图形。比如你的背景图像,或者你的角色,或者其他任何东西。我确信我的代码没有问题,因为在我爸爸做屏幕查看之前,我已经测试和玩过很多次了。顺便说一句,我们都在linux mint 12上 我认为这个bug与屏幕浏览有关 如果我能得到一些帮助,我会很高兴的。任何人都可以。谢谢 -这个问题已经解决了* 董事会 框架Java 靛蓝盲蝽,java,Java,我已经运行EclipseIndigo几个月了,我遇到了一个我似乎找不到答案的bug。我正在创建一个类似于马里奥、老塞尔达等的2d侧滚小游戏 我打算向爸爸展示我在程序中添加的新功能。我爸爸没有上楼去看我电脑上的程序,而是决定用我不确定的sudo屏幕查看程序。我们以前用过这个,基本上它所做的就是让你在同一个IP接口上看到家里另一台电脑的屏幕,你也可以使用这台电脑 我不想这样把我的节目给我爸爸看,所以我叫他上楼来。他做到了,从那以后,eclipse将不会在程序的JFrame中显示任何图形。它将显示诸如
据我所知,你没有在画面上添加任何内容 在我用自己的图形替换图形后,我能够让它运行
public class Frame {
public static void main(String[] args) {
new Frame();
}
public Frame() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame("Swindle [version 0.1.9]");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// This is kind of important...
frame.add(new Board());
frame.setSize(700, 390);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}
虽然我只是快速浏览了一下代码,但我建议您不要使用ImageIcon加载图像,而是使用。除了支持更多的图像格式外,当无法加载图像时,它还会抛出更多错误
我也会避免使用KeyListener来支持。他们不会像KeyListener一样受到焦点问题的困扰非常感谢您!事实证明,这是我的编码有问题,尽管我自己肯定不是。我想这意味着我应该保持思想开放。您添加到我的Frame类中的内容使我的程序再次如新运行。你的惊人反应值得一块饼干!
package External;
import java.awt.Image;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
public class Dude {
int x, dx, y, nx2, nx, dy;
Image Swindle_Man_Right;
ImageIcon r = new ImageIcon("/home/clark/Desktop/Swindle_Man_Right.png");
ImageIcon l = new ImageIcon("/home/clark/Desktop/Swindle_Man_Left.png");
ImageIcon j = new ImageIcon("/home/clark/Desktop/Swindle_Man_Jump.png");
public Dude() {
Swindle_Man_Right = l.getImage();
x = 75;
nx2 = 685;
nx = 0;
y = 172;
}
public void move() {
x = x + dx;
nx2 = nx2 + dx;
nx = nx + dx;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public Image getImage() {
return Swindle_Man_Right;
}
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_LEFT)
{ dx = -1;
Swindle_Man_Right = l.getImage();
}
if (key == KeyEvent.VK_RIGHT)
{dx = 1;
Swindle_Man_Right = r.getImage();
}
if (key == KeyEvent.VK_UP)
{dy = 1;
Swindle_Man_Right= j.getImage();
} }
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_LEFT)
dx = 0;
if (key == KeyEvent.VK_RIGHT)
dx = 0;
if (key == KeyEvent.VK_UP)
{dy = 0;
Swindle_Man_Right= r.getImage();}
}
}
package External;
import javax.swing.*;
public class Frame {
public Frame() {
JFrame frame = new JFrame("Swindle [version 0.1.9]");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700,390);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
new Frame();
}
}
public class Frame {
public static void main(String[] args) {
new Frame();
}
public Frame() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame("Swindle [version 0.1.9]");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// This is kind of important...
frame.add(new Board());
frame.setSize(700, 390);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}