背景
同样是解决项目上一个UI问题,发现部分Button组件点击之后有一个内边框会显示,不是很友好。但是我又不想去二次刷新渲染,于是想要调整一下。特此纪要!
问题
JButton如何去除点击之后的内边框?
说明
JButton组件有一个setFocusPainted的函数可以取消触发后的这种焦点内边框。
解决办法
为了快速的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); 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(); } }
处理前效果
处理后效果