注册 登录
编程论坛 JAVA论坛

用paintComponent()方法显示Jpg图像,程序可以不仔细看

邹特强 发布于 2017-03-25 21:46, 1633 次点击
想问Image image=new ImageIcon("picture.jpg").getImage();中的文件名是随便写吗?还是有什么具体要求,我用了picture。jpg是我电脑里的照片,但运行后什么也显示不了
import java.awt.*;
import javax.swing.*;
public class Picture extends JPanel
{
public void go()
{
    JFrame frame=new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭时结束程序
    Picture paint=new Picture();
     frame.getContentPane().add(BorderLayout.CENTER, paint);//将要上色区域放在中央
     frame.setSize(1000,1000);
     frame.setVisible(true);
}
public void paintComponent(Graphics g)//paintComponent如何被调用的?
{
    Graphics2D g2D=(Graphics2D) g;
    Image image=new ImageIcon("picture.jpg").getImage();
    g.drawImage(image,3,4,this);//离左端三个像素,顶端四个像素
}//这一方法是对图像的设置
public static void main(String[] args)
{
  Picture paint=new Picture();
  paint.go();
}

}
2 回复
#2
will丶2017-03-26 14:28
相对路径起点是工程的根目录
这行代码执行时在根目录下查找名为picture.jpg的文件,结果当然是找不到。
假如你的工程根目录为:project
你的图片文件放在:project/src/images/picture.jpg
#3
邹特强2017-03-27 17:29
回复 2楼 will丶
谢了等了这么久终于有人答复了
1