Swing使JButton无法集中

Niv*_*vas 1 java swing focus jbutton

我想制作一个Java swing按钮'not-focussable'.该按钮根本不应该获得焦点,但应该能够接收鼠标点击.

我认为以下选项,但这些要么不完全解决我的问题,或者看起来不优雅.还有其他/更好/建议的选择吗?

  1. 当按钮获得焦点时,立即将焦点移动到下一个组件(但如果按钮是UI上除标签以外的唯一组件,我该怎么办?)
  2. 将另一个不可聚焦的组件实现为按钮(带有鼠标事件,边框的标签......)(这对我来说看起来不太优雅)
  3. 创建一个匿名按钮实现,覆盖键盘事件,以便它不响应键盘事件(这不能解决焦点问题,但对我来说是件好事,因为问题的根源是避免意外的键盘点击.我会只有在根本没有选项的情况下才这样做,但即使这样也更喜欢选项2)

Ste*_*eod 11

所有Swing组件都有一个setFocusable方法来执行此操作:

JButton button = ...
button.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)