2 sjj 1999 sjj_1999 于 2015.07.18 22:41 提问

java 用JPanel实现放图片时候的问题

问题:不知道为什么没有办法显示出jpg图片,用这个方法可以显示其他格式的图片吗?

g.drawImage(image,3,4,this);里面的这个this是指的什么??
import javax.swing.*;

import java.awt.*;

public class OODemo {
public static void main(String args[]){
MyPanel mypanel=new MyPanel();
JFrame frame=new JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//会在windows关闭是结束程序   
frame.getContentPane().add(mypanel);
frame.setSize(300,500);
frame.repaint();
frame.setVisible(true);
}

}

class MyPanel extends JPanel{
public void paintComponent(Graphics g){
Image image=new ImageIcon("way.jpg").getImage();
g.drawImage(image,3,4,this);
}
}

4个回答

CSDNXIAON
CSDNXIAON   2015.07.18 22:44

java实现图片的缩放问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

u010214269
u010214269 this指的是当前对象也就是mypanel,你打印下image,方法没问题,可能是image没获取到
2 年多之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.18 23:02

你点进去这个方法,看看里面写的参数是啥的,就是啥啊,
http://cheng330301560.iteye.com/blog/1267828

danielinbiti
danielinbiti   Ds   Rxr 2015.07.19 00:41
 Image image=new ImageIcon("way.jpg").getImage();
 看看way.jgp路径对不对
 可以先写成绝对路径试试,把way.jpg放到c盘根目录下,然后写死路径 
 Image image=new ImageIcon("c:\\way.jpg").getImage();
 如果不能显示应该是图片的问题。
 jpg是支持的,代码看着也没问题。
danielinbiti
danielinbiti 如果绝对路径能显示。那就是你路径搞错了。
2 年多之前 回复
tongyi55555
tongyi55555   2015.07.19 12:02

你这个是代码是没有问题的,肯定是路径的问题。你将这个图片放到你工程目录的根目录下即可。
另外这个this指的是图像更新时谁被通知进行重绘,可以参考下http://www.blogjava.net/leon/archive/2005/07/12/7533.html

Csdn user default icon
上传中...
上传图片
插入图片