我想在Frame框架中显示图片,代码如下,可是运行后发现并没有图片显示.请问应该如何修改啊?谢谢...import java.awt.Graphics;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.Toolkit;
import java.awt.Color;
import java.awt.Image;
import java.awt.Frame;public class smp115 {
public static void main(String[] args) {
smp115frm frm = new smp115frm();
}
}class smp115frm extends Frame{
Image img; smp115frm() {
setSize(370, 305);
setBackground(Color.cyan);
setVisible(true);
Toolkit tl = getToolkit();
img = tl.getImage("smp114.jpg"); //smp114.jpg放于src文件夹中,好像没有被读取出来导致下面-1 addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
repaint();
} public void paint(Graphics g) {
int wt = img.getWidth(this); //输出为-1
int ht = img.getHeight(this); //输出为-1
g.drawImage(img, 25, 45, wt / 2, ht / 2, this);
System.out.println(wt + " " + ht);
}
}
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.Toolkit;
import java.awt.Color;
import java.awt.Image;
import java.awt.Frame;public class smp115 {
public static void main(String[] args) {
smp115frm frm = new smp115frm();
}
}class smp115frm extends Frame{
Image img; smp115frm() {
setSize(370, 305);
setBackground(Color.cyan);
setVisible(true);
Toolkit tl = getToolkit();
img = tl.getImage("smp114.jpg"); //smp114.jpg放于src文件夹中,好像没有被读取出来导致下面-1 addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
repaint();
} public void paint(Graphics g) {
int wt = img.getWidth(this); //输出为-1
int ht = img.getHeight(this); //输出为-1
g.drawImage(img, 25, 45, wt / 2, ht / 2, this);
System.out.println(wt + " " + ht);
}
}
public void paint(Graphics g) {
super.paint(g);
String head = "."+File.separator+"img"+File.separator+"head.jpg";
Image ico = new ImageIcon(head).getImage();
g.drawImage(ico, 0, 0, 326, 50, this);
}
};
我试了你的方法,仍然没有图片显示!汗...
2楼,bin里也有同样的一个图片文件
所以这句话我改为img = tl.getImage("smp114.jpg");
img = tl.getImage("src\\smp114.jpg"); 就可以了.