Java 靛蓝盲蝽

Java 靛蓝盲蝽,java,Java,我已经运行EclipseIndigo几个月了,我遇到了一个我似乎找不到答案的bug。我正在创建一个类似于马里奥、老塞尔达等的2d侧滚小游戏 我打算向爸爸展示我在程序中添加的新功能。我爸爸没有上楼去看我电脑上的程序,而是决定用我不确定的sudo屏幕查看程序。我们以前用过这个,基本上它所做的就是让你在同一个IP接口上看到家里另一台电脑的屏幕,你也可以使用这台电脑 我不想这样把我的节目给我爸爸看,所以我叫他上楼来。他做到了,从那以后,eclipse将不会在程序的JFrame中显示任何图形。它将显示诸如

我已经运行EclipseIndigo几个月了,我遇到了一个我似乎找不到答案的bug。我正在创建一个类似于马里奥、老塞尔达等的2d侧滚小游戏

我打算向爸爸展示我在程序中添加的新功能。我爸爸没有上楼去看我电脑上的程序,而是决定用我不确定的sudo屏幕查看程序。我们以前用过这个,基本上它所做的就是让你在同一个IP接口上看到家里另一台电脑的屏幕,你也可以使用这台电脑

我不想这样把我的节目给我爸爸看,所以我叫他上楼来。他做到了,从那以后,eclipse将不会在程序的JFrame中显示任何图形。它将显示诸如写在屏幕上的文字之类的内容,但不会显示任何图形。比如你的背景图像,或者你的角色,或者其他任何东西。我确信我的代码没有问题,因为在我爸爸做屏幕查看之前,我已经测试和玩过很多次了。顺便说一句,我们都在linux mint 12上

我认为这个bug与屏幕浏览有关

如果我能得到一些帮助,我会很高兴的。任何人都可以。谢谢

-这个问题已经解决了*

董事会

框架


据我所知,你没有在画面上添加任何内容

在我用自己的图形替换图形后,我能够让它运行

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);
            }
        });
    }
}