我正在寻找是否可以在当前JFrame
.
正如该答案中所建议的那样,我知道可以通过 JNI/JNA 和 windows API 调整菜单GetSystemMenu()
,但我正在寻找在普通的 Java/Swing 中是否可行。
我在那个论坛帖子中发现了一些东西,告诉它应该是可能的:
这是在创建 JFrame 之前
JFrame.setDefaultLookAndFeelDecorated(true);
然后,在向框架添加任何内容之前,迭代框架的组件,寻找 JMenu。找到后,添加您的“关于”菜单项
刚刚测试,工作正常。
唉,没有提供整个 sscce,我也没有设法让它在我的代码中工作。在添加组件之前在创建窗口之后设置断点时,我没有看到JMenu
. 既不在第一级 ( JRootPane
) 也不在相继嵌入的组件 ( JPanel
, JLayeredPane
) 中。
如果重要的话,我正在处理 WinXP 和 Win7 上的 Java 6/7,窗口被创建为 anew JFrame("some title")
并且我使用的是本机外观UIManager.getSystemLookAndFeelClassName()
。