Java 如何在JToolbar中默认选择按钮

Java 如何在JToolbar中默认选择按钮,java,swing,jbutton,jtoolbar,Java,Swing,Jbutton,Jtoolbar,我创建了一个由大约10个按钮组成的小工具集。这些按钮被添加到JToolBar。目前,默认情况下,它会在第一个按钮周围放置一个正方形;但是,我希望另一个按钮是默认的。我怎样才能做到这一点?下面是我如何添加按钮的示例。我尝试了select.setSelected和其他一些方法,但没有任何运气 JToolBar sideBar = new JToolBar(); JButton select = new JButton(new ImageIcon("Media/select.png"));

我创建了一个由大约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);
以下是当前结果的图像:


如果您知道要激活哪个按钮,可以使用

button.requestFocusInWindow();
您还可以尝试在根窗格中设置默认按钮,具体取决于Swing元素的设置

rootPane.setDefaultButton(button);

最后,有一种简便的方法叫做
setfocusedpaint(false)

您可能希望通过以下方式将一个按钮设置为工具栏的默认按钮:

yourToolBar.getRootPane().setDefaultButton(okButton);

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

将来,打印屏幕会很有用,这样我们就可以了解您看到的“正方形”是什么(在这种情况下,我假定它是Swing指定的“焦点”正方形)我试过了,但没发现有什么不同。蓝色焦点方块仍然停留在第一个按钮附近。-1,不要使用requestFocus()(请参阅此方法的API),请使用requestFocusInWindow()。抱歉,我是想说这个!requestFocusInWindow()按钮;做的诀窍,非常感谢大家的荆棘,这将是有用的对话框,我有。