如何在 JToolbar 中设置默认选中的按钮

3

我创建了一个小工具集,它由大约10个按钮组成。这些按钮被添加到一个JToolBar中。目前,默认情况下它会在第一个按钮周围放置一个正方形,但是我想要另一个按钮成为默认的。我该如何实现这一点?以下是我添加按钮的示例。我尝试过使用select.setSelected和其他一些方法,但没有成功。

  JToolBar sideBar = new JToolBar();

  JButton select = new JButton(new ImageIcon("Media/select.png"));
  select.setBorderPainted(false);
  select.setContentAreaFilled(false);

  sideBar.add(select);

下面是当前结果的图片:

当前结果-注意左上角按钮上的方块


1
将来,打印屏幕会很有用,这样我们就能理解您所看到的“正方形”是什么(在这种情况下,我推测是Swing分配的“焦点”正方形)。 - CodeGuy
2个回答

2
如果您知道要激活哪个按钮,可以使用:
button.requestFocusInWindow();

您还可以尝试根据Swing元素的设置,在根面板上设置默认按钮。

rootPane.setDefaultButton(button);

最后,还有一个方便的方法叫做setFocusedPainted(false);

我尝试了这个,但是我没有看到任何区别。蓝色的焦点正方形仍然停留在第一个按钮周围。 - Pedrom
1
-1,不要使用requestFocus()(请参考该方法的API),请使用requestFocusInWindow()。 - camickr
抱歉,我打错了! - CodeGuy
button.requestFocusInWindow(); 做到了,非常感谢大家。 - Pedrom

2
您可以通过以下方式将一个按钮设置为工具栏的默认按钮:
yourToolBar.getRootPane().setDefaultButton(okButton);

我经常在对话框中使用setDefaultButton方法,这样用户就可以通过按下[Enter]键来选择默认按钮。


谢谢Thorn,这对我拥有的对话框非常有用。 - Pedrom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接