【问题标题】:How to make a button selected by default in JToolbar如何在 JToolbar 中默认选择按钮
【发布时间】:2013-04-01 00:05:10
【问题描述】:

我创建了一个由大约 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);

这是当前结果的图片:

【问题讨论】:

  • 在未来,打印屏幕会很有用,这样我们就可以了解您所看到的“正方形”是什么(在这种情况下,我猜想是 Swing 分配的“焦点”正方形)

标签: java swing jbutton jtoolbar


【解决方案1】:

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

button.requestFocusInWindow();

您也可以尝试在根窗格中设置默认按钮,具体取决于您的 Swing 元素的设置。

rootPane.setDefaultButton(button);

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

【讨论】:

  • 我试过这个,但我看不出有什么不同。蓝色焦点方块仍然停留在第一个按钮周围。
  • -1,不要使用requestFocus()(请参阅该方法的API),使用requestFocusInWindow()。
  • 对不起,我是想说!
  • button.requestFocusInWindow();成功了,非常感谢大家
【解决方案2】:

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

yourToolBar.getRootPane().setDefaultButton(okButton);

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

【讨论】:

  • 谢谢Thorn,这对我的对话框很有用。
猜你喜欢
  • 2016-12-26
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 2014-03-16
  • 2011-11-27
  • 2013-03-01
  • 1970-01-01
相关资源
最近更新 更多