网上有许多的关于Java 界面的添加背景图片的方法,大部分都是使用JLabel的方法,对于会图片到jpanel上,大部分都说的不对,因为图片将组件覆盖了。这个饿时因为使用的方法不对导致的,下面是个人测试的,是正确的。
import javax.swing.*;
import java.awt.*;
public class ImageDemo2
{
public ImageDemo2(){
JFrame frame=new JFrame();
JPanel panel=new JPanel(){
//网上使用的paint()方法,这个图片会将组件掩盖掉的
public void paintComponent(Graphics g){
super.paintComponent(g);
Image im=Toolkit.getDefaultToolkit().getImage("images/1111.jpg");
g.drawImage(im,0,0,null);
}
};
//JPanel j=(JPanel)frame.getContentPane();
//j.setOpaque(false);
JTextField jta=new JTextField(10);
JButton jb=new JButton("确定");
JButton jb2=new JButton("重置");
//panel.setOpaque(false);
panel.add(jta);
panel.add(jb);
panel.add(jb2);
frame.add(panel);
frame.setSize(300,300);
frame.setVisible(true);
}
public static void main(String[] args)
{
new ImageDemo2();
}
}
效果图片: