一个用于在窗体中显示图片的程序,但是老是见不到图像,请大家帮忙调试一下~谢谢~~import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class c2 extends JFrame implements MouseMotionListener{
public static void main(String[] argu){
c2 frame = new c2(); }

int rx, px;

Image image1;

public c2(){
super("c2");
Container c = getContentPane();
c.setLayout(null);
image1 = Toolkit.getDefaultToolkit().getImage("d://5.jpg");// 无法显示图片
addMouseMotionListener(this);
px = -400;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,200);
setVisible(true);
}

public void paint(Graphics g){     //是不是这里有问题?似乎没有调用过
g.drawImage(image1, px, 0, this);
}

public void mouseMoved(MouseEvent e){
int x1 = e.getX();
if (x1 > rx && px > -800){
px = px - 10;
}
if (x1 < rx && px <0){
px = px + 10;
}
rx = x1;
repaint();
}
public void mouseDragged(MouseEvent e){

}
}

解决方案 »

  1.   

    程序基本正常,根据鼠标的移动可以看到图片,稍有点小问题,我做了一点点修改。import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;public class c2 extends JFrame implements MouseMotionListener{
    public static void main(String[] argu){
    c2 frame = new c2(); }

    int rx, px;

    Image image1;

    public c2(){
    super("c2");
    Container c = getContentPane();
    c.setLayout(null);
    image1 = Toolkit.getDefaultToolkit().getImage("C://5.jpg");// 无法显示图片
    addMouseMotionListener(this);
    px = -400;
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(400,200);
    setVisible(true);
    }

    public void paint(Graphics g){
    // 这里不用专门去调用,当窗体显示或有任何变动时,自动调用此方法
    super.paint(g);
    g.setColor(new Color(255, 255, 255)); // 为了图片移开后不产生重影,我们用白色填充窗体
    g.fillRect(0, 0, 400, 200);
    g.drawImage(image1, px, 0, this);
    }

    public void mouseMoved(MouseEvent e){
    int x1 = e.getX();
    if (x1 > rx && px > -800){
    px = px - 10;
    }
    if (x1 < rx && px <0){
    px = px + 10;
    }
    rx = x1;
    repaint();
    }
    public void mouseDragged(MouseEvent e){

    }
    }