You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除JToolBar上JButton的聚焦边框与悬停点击外框(Corretto Java 11)

解决方案

你遇到的配置失效问题核心原因是JToolBar开启setRollover(true)后,会自动接管内部按钮的悬停效果绘制,优先级高于按钮自身的属性配置,同时JButton默认的内容区域绘制逻辑也会生成你看到的浅外框。按以下步骤修改即可满足全部需求:

  • 关闭JToolBar的自动悬停效果,将原有代码toolbar.setRollover(true);改为toolbar.setRollover(false);
  • 给JButton补充以下核心配置,注意不要被后续代码覆盖:
// 新增配置
b2.setBorderPainted(false); // 禁用边框绘制
b2.setContentAreaFilled(false); // 禁用默认按钮内容区域(含默认背景、悬停外框)绘制
// 原有有效配置保留
b2.setFocusPainted(false);
b2.setFocusable(false);
  • 删除你原有代码中后续重复的边框设置b2.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));,避免覆盖前面的禁用配置。

修改后即可实现:默认状态无自带边框、鼠标悬停无聚焦外框、点击时无任何边框效果,自定义的Icon绘制不受影响。

内容的提问来源于stack exchange,提问作者Unhandled Exception

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:06:04