// 不加包,图片跟类文件在一个目录,命令行下编译执行就行了
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、巴南网站维护、网站推广。
// 如果建工程,图片放到工程根目录
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Student extends JFrame {
public Student() {
init();
}
private void init() {
final Container c = getContentPane();
final JLabel imgLabel = new JLabel();
ImageIcon img = new ImageIcon(System.getProperty("user.dir") + "\\a.png");
imgLabel.setIcon(img);
imgLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
((JPanel)getContentPane()).setOpaque(false);
getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
setLayout(new FlowLayout());
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Student().setVisible(true);
}
}
仅仅是给窗口添加背景的话是很简单的,添加上以下语句(自己去添加变量哈):\x0d\x0a\x0d\x0alabel = new JLabel(background); //background为ImageIcon\x0d\x0a// 把标签的大小位置设置为图片刚好填充整个面板 \x0d\x0alabel.setBounds(0, 0, this.getWidth(), this.getHeight());\x0d\x0a//添加图片到frame的第二层(把背景图片添加到分层窗格的最底层作为背景)\x0d\x0athis.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));\x0d\x0a//把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明\x0d\x0ajPanel=(JPanel)this.getContentPane();\x0d\x0a//设置透明\x0d\x0ajPanel.setOpaque(false);\x0d\x0a\x0d\x0a然后你上面那个JPanel p也设置成透明就可以了
public Qua_Main_JFrame() {
JPanel jpanel = new JPanel();
this.setContentPane(jpanel);
//
添加标签组件
GridLayout gird = new GridLayout(3,0);
jpanel.setLayout(gird);
ImageIcon img = new ImageIcon("src/JMXY.JPG");
JLabel imgLabel = new JLabel(img);//
将背景图放在标签里。
this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
this.getLayeredPane().setLayout(null);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jpanel.setOpaque(false);
initComponents();
}
其中
Qua_Main_JFrame
为创建的
java
窗体项目名,图片按路径存放,注意一点,所有
的代码都应该放在
initComponents();
方法之上,这样你添加进窗体中的空间才会显示在
图片之上,否则看不见控件。