[英]How to add custom menu action and titlebar icon to JFrame
我有一个自定义的JFrame。 在标题栏上,我在左上方有一个图标,一个标题,然后在右侧有标准的最小化,最大化和关闭按钮。
单击标题栏中的图标时,将获得标准选项:“还原”,“移动”,“大小”,“最小化”,“最大化”,“关闭”。
如何在此处添加自己的菜单选项? 我想在这里添加和“始终放在最前面”选项。
另外,我想在标题栏的max,min,close按钮旁边添加一个按钮,以允许使用它来切换JFrame的“ Always On Top”状态。
您可以创建自己的自定义组件。 为此,请创建一个新类,该类例如extends JMenuBar
并覆盖适合您需要的方法。 例如,很多时候,您想覆盖paintComponent(Graphics)
。
那不是你想要的,虽然。 自定义JMenuBar
不会像您期望的那样工作。 “ JMenuBar”是标题栏下方的另一个栏。 我的Mac用户,但据我所知推移,它不是可以自定义标题栏,因为这不是由JVM处理。 无需使用本机代码即可修改的唯一东西是左上方的Icon。
有关此问题的更多信息,请查看此问题以及那里的最佳答案。 这将对您有很大帮助。
通过创建JMenuBar,JMenu和JMenuItem的常规实例,可以最好地解决您的问题(在顶部添加一个按钮来切换alwaysOnTop
状态)。 然后将该MenuBar添加到Frame中,请使用JFrame.setJMenuBar(JMenuBar)
。 另请参阅如何使用菜单 。
我希望这有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.