我想在我的应用程序中创建一个工具栏。如果您单击该工具栏上的按钮,它将弹出一个菜单,就像在 Eclipse 的工具栏中一样。我不知道如何在 Swing 中执行此操作。有人能帮助我吗?我试过谷歌但一无所获。
原文由 Kien Truong 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在我的应用程序中创建一个工具栏。如果您单击该工具栏上的按钮,它将弹出一个菜单,就像在 Eclipse 的工具栏中一样。我不知道如何在 Swing 中执行此操作。有人能帮助我吗?我试过谷歌但一无所获。
原文由 Kien Truong 发布,翻译遵循 CC BY-SA 4.0 许可协议
我不明白为什么这比它需要的更难或者为什么你应该使用 MouseListener。 Steve McLeod 的解决方案有效,但菜单出现的位置取决于鼠标点击的位置。为什么不像通常用于 JButton 的那样使用 ActionListener。它似乎既不难也不那么难。
final JPopupMenu menu = new JPopupMenu();
menu.add(...whatever...);
final JButton button = new JButton();
button.setText("My Menu");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
menu.show(button, button.getBounds().x, button.getBounds().y
+ button.getBounds().height);
}
});
这对我来说将菜单定位为与 JMenuBar 中的菜单大致相同,并且位置是一致的。您可以通过修改 menu.show() 中的 x 和 y 来放置不同的位置。
原文由 Kenneth Evans 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
这在 Swing 中比需要的要难得多。因此,我没有将您指向教程,而是创建了一个完整的示例。