【发布时间】:2013-12-08 11:14:47
【问题描述】:
JFrame in (From Swing) 允许您设置菜单栏(MenuBar 的实例使用 JFrame.setMenuBar(mb);)。此菜单栏可能会出现在不同的位置,具体取决于它所运行的系统。如果运行应用程序的操作系统在屏幕顶部有一个菜单栏,则在JFrame 中设置的这个菜单栏通常会出现在这个菜单栏中。如果不支持,菜单栏将显示在框架本身的顶部。
您可以在下面的示例中看到不同系统上的不同行为:
这是我用来设置菜单栏的代码示例:
// Initialize a menu bar
MenuBar mb = new MenuBar();
// Initialize the menu and some menu items, add these to the menu bar
Menu m = new Menu("Menu 1");
MenuItem mi1 = new MenuItem("Menu Item 1");
MenuItem mi2 = new MenuItem("Menu Item 2");
MenuItem mi3 = new MenuItem("Menu Item 3");
m.add(mi1);
m.add(mi2);
m.addSeparator();
m.add(mi3);
mb.add(m);
// Set the menu bar
setMenuBar(mb);
我的问题是: 如何检查菜单栏是显示在框架本身还是系统的菜单栏中(如果支持)?如果有任何可能的方法可以在不初始化和定义菜单栏的情况下检查这一点,那就太好了。 也许这是不可能的,如果是这样,是否可以在定义菜单栏后检查同样的问题?
【问题讨论】: