如何将自定义菜单操作和标题栏图标添加到JFrame

时间:2015-02-05 17:13:02

标签: java button jframe menuitem

我有一个自定义的JFrame。在标题栏上,左上角有一个图标,标题,右边是标准的最小化,最大化和关闭按钮。

当我点击标题栏中的图标时,我会得到标准选项:恢复,移动,大小,最小化,最大化,关闭。

如何在此处添加自己的菜单选项?我想添加" Always On Top"选项在这里。

此外,我想在标题栏上的最大,最小,关闭按钮旁边添加一个按钮,以允许用户切换" Always On Top" JFrame的状态。

1 个答案:

答案 0 :(得分:0)

您可以创建自己的自定义组件。为此,请创建一个新类extends JMenuBar,例如并覆盖符合您需求的方法。通常,例如,人们想要覆盖paintComponent(Graphics)

不过,这不是你想要的。自定义JMenuBar不会按预期工作。 “JMenuBar”是标题栏下方的另一个栏。我是Mac用户,但据我所知,可以自定义标题栏,因为这不是由JVM处理的。唯一可以在不使用本机代码的情况下修改的是左上角的Icon。

有关详细信息,请查看this question以及那里的最佳答案。这将对您有所帮助。

您的问题(在顶部添加一个用于切换alwaysOnTop状态的按钮)最好通过创建JMenuBar,JMenu和JMenuItem的普通实例来解决。 然后,将该MenuBar添加到您的Frame,使用JFrame.setJMenuBar(JMenuBar)。另见How to use Menus

我希望这有帮助!