java中Swing编程再度练习篇
总结:
注意理解frame的层级关系
package com.da; //添加背景图片 //我只实现了插入图片。但并没有实现是背景图片 import javax.swing.JFrame; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JLabel; import javax.swing.JPanel;//其实不仅仅是把图片添加到标签里,放入面板,其中还有其他 import javax.swing.ImageIcon; import javax.swing.JButton; public class wld { public static void main(String[] args) { JFrame frame = new JFrame("SWING编程"); Container c = frame.getContentPane();// 返回一个内容窗格 c.setLayout(new GridLayout(3, 1)); JButton b = new JButton("定义"); c.add(b);// 添加一个按钮 ImageIcon ico = new ImageIcon("d:\\21.jpg");// 加载图片 JPanel imagpanel1 = new JPanel(); // /设置图片的大小 // 通过透明效果可实现 JLabel imagelabel = new JLabel(ico);// 将图片放入标签里 imagelabel.setBounds(0, 0, ico.getIconWidth(), ico.getIconHeight());// 设置标签大小即为图片大小 // 是因为表签的大小和框架的大小不一样。 // 所以我看到的图片大小只是限于面板层的大小而非背景框架的大小、 // 我记得有个方法,是 frame.add(imagelabel); frame.setBounds(0, 0, ico.getIconWidth(), ico.getIconHeight()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); // 把图片放入标签里。 frame.add(imagpanel1); } }