首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学者有关问题用JPanel画图

2012-02-16 
菜鸟问题用JPanel画图[codeJava][/code]package 图片import javax.swing.JFramepublic class DisplayIm

菜鸟问题用JPanel画图
[code=Java][/code]package 图片;

import javax.swing.JFrame;

public class DisplayImage extends JFrame{
public DisplayImage(){
add(new ImageCanvas());

this.setSize(600,600);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new DisplayImage();
}
}
package 图片;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class ImageCanvas extends JPanel{

ImageIcon imageIcon = new ImageIcon("chess.png");
Image image = imageIcon.getImage();

public void paintComponent(Graphics g){
super.paintComponent(g);

if(image != null){
System.out.println("dsdsdds");
g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), null);
}
}
}
最后能输出dsdsdds说明图片位置没问题,但是就是显示不出图片

[解决办法]
可以在你的System.out.println("dsdsdds")后面加一句
System.out.println(image.getHeight(this));查看一下图片的高度,我查看后为-1,也就是说图片没有导入成功,image虽不为空,但是可能有默认值。我用的是netbeans,最后图片放在了项目根目录下才显示出来。
再或者drawImage最后的参数改成this试试,我这里this和null都成功了。表示不懂

热点排行