背景
同样是解决项目上一个UI问题,想要透明处理Button组件。特此纪要!
问题
JButton如何取消背景的渲染,设置为透明状态?
说明
JButton组件有一个setContentAreaFilled的函数可以取消背景渲染,是Button变为透明背景。
解决办法
为了快速的get到点位,下面是一则对应的Demo:
package com.company.swing.jbutton; import javax.swing.*; import java.awt.*; /** * 类目主要处理了 * 取消Button触发后的焦点边框。 * 透明化处理。 */ public class ButtonApi extends JFrame { private JButton refresh = new JButton("Refresh"); private JPanel jPanel = new JPanel(); public void init () { refresh.setBackground(new Color(17, 130, 201)); refresh.setFocusPainted(false); // 取消Button触发后的焦点边框。 refresh.setContentAreaFilled(false); // 透明化处理。 jPanel.add(refresh); add(jPanel); setTitle("Button TestTitle!"); pack(); setVisible(true); setMinimumSize(new Dimension(360, 120)); setPreferredSize(new Dimension(1200, 600)); } public static void main(String[] args) { ButtonApi api = new ButtonApi(); api.init(); } }
处理前
处理后
![]()