Java 8/Eclipse映像不可见

Java 8/Eclipse映像不可见,java,eclipse,jpanel,toolkit,Java,Eclipse,Jpanel,Toolkit,我试图得到一个小动画图像,但面板保持白色。 图像与类位于同一文件夹中 public class JBallonPanel extends JPanel implements Runnable{ private Image img; private int x, y; JBallonPanel(){ setBackground(Color.white); img=Toolkit.getDefaultToolkit().createImage(".//Ball.jpg");

我试图得到一个小动画图像,但面板保持白色。 图像与类位于同一文件夹中

public class JBallonPanel extends JPanel implements Runnable{
private Image img;
private int x, y;

JBallonPanel(){
    setBackground(Color.white);
    img=Toolkit.getDefaultToolkit().createImage(".//Ball.jpg");
    x=this.getWidth()/2;
    y=this.getHeight()/2;
}

public void paintComponent(Graphics g){
    g.drawImage(img, x, y, 
            img.getWidth(this), img.getWidth(this), this);
}

看看下面,我刚刚做了一些调整,但您的代码正在运行

    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Toolkit;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.WindowConstants;

    //public class JBallonPanel extends JPanel implements Runnable {
    //You can remove implements Runnable
    public class JBallonPanel extends JPanel {
    private Image img;
    private int x, y;

    JBallonPanel(){
        setBackground(Color.white);
        // your path should have \\ for example C:\\Ball.jpg or C:\\myImageFolder\\Ball.jpg 
        // but in your case, it works too.
        img=Toolkit.getDefaultToolkit().createImage("C:\\Ball.jpg");
        x=this.getWidth()/2;
        y=this.getHeight()/2;
    }

    public void paintComponent(Graphics g){
        g.drawImage(img, x, y, img.getWidth(this), img.getWidth(this),     this);
    }

    //And run like this
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.getContentPane().add(new JBallonPanel());
        frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        frame.pack();
        frame.setSize(800, 800);
        frame.setVisible(true);
    }
}

谢谢你的帮助,当然!完成测试后,告诉我它是否工作正常。我认为您(和OP)缺少
super.paintComponent(g)super.paintComponent(g)
,因为此代码工作正常。如果需要,您可以查看更多信息。