java 图片显示不出来

try {
bg=ImageIO.read(new File("F:/JAVA/GOBANG/GoBang/beijing.jpg"));//存入缓存
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} public void paint(Graphics g)
{
g.drawImage(bg, 0, 0, this);//显示图片
g.drawString("youxi", 300,50);
} 图片显示不出来,有次无意中显示出来了,但是同样的代码,就没再显示出来过了

第1个回答  2013-08-09
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class image extends JFrame {

private JTextField textField;

public image() {
getContentPane().setLayout(new BorderLayout(0, 0));

ImagePanel panel = new ImagePanel();// 显示背景

getContentPane().add(panel);
panel.setLayout(null);
textField = new JTextField();
textField.setBounds(214, 176, 96, 19);
panel.add(textField);
textField.setColumns(10);
setSize(460, 350);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new image();
}
/**
*
* 显示图片用的类
*
*/

class ImagePanel extends JPanel {

Image bg;

@Override
public void paint(Graphics g) {
try {
bg=ImageIO.read(new File("E:\\1.png"));
g.drawImage(bg, 0, 0, this);//显示图片
g.drawString("youxi", 300,50);

} catch (IOException e) {
e.printStackTrace();
}
}
}
}
这样写显示正常啊,是不是你文件路径的问题:
再给你个方法:重写paintComponent()方法:

class ImagePanel extends JPanel {

protected void paintComponent(Graphics g) {

super.paintComponent(g);

ImageIcon icon = new ImageIcon("E:\\1.png");

g.drawImage(icon.getImage(), 0, 0, this);

}
}
第2个回答  2013-08-09
是不是tomcat中的webapp下的图片删掉了,但数据库却没有删掉
相似回答