import java.awt.*;
import javax.swing.*;
public class JavaTest extends JPanel{
Image image;
public JavaTest(){
}
public void init(){
image=this.getToolkit().getImage("x.jpg");
}
public void paint(Graphics g){
super.paint(g);
g.drawImage(image,0,0,this);
}
public static void main(String[]args){
JFrame frame=new JFrame();
Container contentPane=frame.getContentPane();
JavaTest jt=new JavaTest();
contentPane.add(jt,BorderLayout.CENTER);
frame.setSize(300, 400);
frame.setVisible(true);
}
import javax.swing.*;
public class JavaTest extends JPanel{
Image image;
public JavaTest(){
}
public void init(){
image=this.getToolkit().getImage("x.jpg");
}
public void paint(Graphics g){
super.paint(g);
g.drawImage(image,0,0,this);
}
public static void main(String[]args){
JFrame frame=new JFrame();
Container contentPane=frame.getContentPane();
JavaTest jt=new JavaTest();
contentPane.add(jt,BorderLayout.CENTER);
frame.setSize(300, 400);
frame.setVisible(true);
}
在你的工程下建立文件夹:image,然后把你的图片copy进去。
然后这样写:
this.getToolkit().getImage("image/x.jpg");
为什么不能在init中初始化。。
image = this.getToolkit().getImage("x.jpg");
}根本就没有调过,所以image为null,肯定什么也没有显示出来啊
1.init方法没有被调用,放到构造函数里去吧。
2.this.getToolkit().getImage("x.jpg"); 这里的相对路径有问题,如果你是用的Eclipse的话,相对路径是基于工程文件的,就是.project文件所在目录。而不是你的.java或者.class所在的路径。