java jframe背景_Java——JFrame与JButton添加背景

某些时候,我们会认为Swing的GUI实在是太难看了。我们可以通过修改背景,来达到一定的美化效果。

一、JFrame设置背景

在设置背景前,必须了解到JFrame分为4层,从下至上分别为RootPane、LayeredPane、ContentPane、GlassPane。其中GlassPane是默认透明的,ContentPane主要用来承载控件。

3ee2946826d02ca1f50b96e0f643bf50.png

我们设置背景,可以选择设置在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(newImageIcon(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); // 消除内容域,即中间的那一块

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值