首页 > 代码库 > JFrame与JButton添加背景
JFrame与JButton添加背景
某些时候,我们会认为Swing的GUI实在是太难看了。我们可以通过修改背景,来达到一定的美化效果。
一、JFrame设置背景
在设置背景前,必须了解到JFrame分为4层,从下至上分别为RootPane、LayeredPane、ContentPane、GlassPane。其中GlassPane是默认透明的,ContentPane主要用来承载控件。
我们设置背景,可以选择设置在RootPane或LayeredPane,这样就不会影响到ContentPane。
以下以LayeredPane为例:
1. 创建图像:
ImageIcon icon = new ImageIcon("./img/mainFrame.png"); Image img = icon.getImage().getScaledInstance(width, height, Image.SCALE_FAST); // 图像缩放为适合Frame大小 JLabel jlabel = new JLabel(new ImageIcon(img)); jlabel.setBounds(0, 0, width, height);
2.将图像放置在LayeredPane中
f.getLayeredPane().add(jlabel, new Integer(Integer.MIN_VALUE));
LayeredPane也是分层的,根据整数大小有若干层。这里将JLabel放置在了LayeredPane最底层。
3.将ContentPane和RootPane设置透明(可以消去边框)
JPanel jp = (JPanel) f.getContentPane(); JRootPane jp1 = (JRootPane) f.getRootPane(); jp.setOpaque(false); jp1.setOpaque(false);
4. 去除标题栏 : f.setUndecorated(true);
二、JButton设置背景
JButton同样用setIcon
btn.setBorderPainted(false); // 消除边框 btn.setContentAreaFilled(false); // 消除内容域,即中间的那一块
JFrame与JButton添加背景
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。