1、Java 中有关 Frame 背景的设置总结我们在进行图形用户界面编程时,为了做出一个漂亮、个性化的界面,那么界面的背景就必须考虑了。要想灵活使用背景,就一定要对 frame 的基本有一些了解,因为在 java编程中没有直接设置背景的有关方法,了解一些基本知识后我们就可以随意设置背景了。首先还是要了解框架 JFrame 中的层次结构。JFrame 中的层次分布及相对关系是:最底层是:JRootPane;第二层是: JlayerPane;最上层就是 ContentPane,也正是我们常说的内容面板。所以一般我们拖放的控件就是在 ContentPane 层上。有了这些常识后我们就可以随意设计背景了
2、。在这里笔者提供两种方法为一个 frame设置一张背景图片。方法一:原理:我们把图片放置在第二层:JlayerPane 容器上,然后让最上层的:ContentPane透明,这样就实现了背景的设置。 (当然把图片放置最低层,让上面两层透明也是可以的)具体步骤:/ 加载背景图片ImageIcon bg = new ImageIcon(“background.jpg“);/ 把背景图片显示在一个标签JLabel label = new JLabel(bg);/把标签的大小位置设置为图片刚好填充整个面label.setBounds(0,0,bg.getIconWidth(),bg.getIconHei
3、ght();/添加图片到 frame的第二层frame.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE);/获取frame的最上层面板为了设置其背景颜色(JPanel有设置透明的方法)JPanel jp=(JPanel)frame.getContentPane();jp.setOpaque(false);/设置透明/测试用的JPanelJPanel panel=new JPanel();panel.setOpaque(false);/也要让他透明panel.setLayout(null);/为了使用按钮的定位JButton bu
4、tton=new JButton(“OK“);button.setSize(100, 20);button.setLocation(100, 50);panel.add(button);frame.add(panel);效果如图:方法二:原理:我们直接在最上层容器内重写 paintComponent(Graphics g)方法在容器中画一张图片。 (这种方法很直观,原理很简单)具体步骤:只需要在构造 JPanel 时重写 paintComponent(Graphics g)就 ok 了。class PanelTest extends JPanelImageIcon background = new ImageIcon(“background.jpg“);/加载图片Image im=Toolkit.getDefaultToolkit().getImage(“background.jpg“);int h,w;public void paintComponent(Graphics g) g.drawImage(im, 0, 0, null);总结:只要了解了基本原理我们就可以更随意一点设计我们的风格了,我在这了抛砖引玉,希望对初学者有所帮助。