我正在开发一个可以作为 JApplet 和应用程序运行的计算器。当我将代码作为应用程序运行时,会显示菜单栏。但是当我将它作为 JApplet 运行时,它不会。
这是 JApplet 限制吗?因为当我将所有代码(新的 JMenuBar、添加按钮等)放在计算器类中时,它就可以工作了。但是使用我自己的静态方法 MenuBar.create(),它做同样的事情并返回一个 JMenuBar,它不起作用。
这是代码,也许我忘记了使菜单栏不出现在小程序中的东西?
计算器
private void BuildGui() {
//MenuBar.create() returns an JMenuBar filled with menus/items.
menuBar = MenuBar.create();
panel.add(new JButton("test"));
}
private void Go() {
// NOTE: this.isApplet works, it's a boolean i set during init() or main()
if (this.isApplet == true) {
setJMenuBar(menuBar);
setSize(500,600);
add(panel);
} else {
JFrame frame = new JFrame();
frame.setJMenuBar(menuBar);
frame.getContentPane().add(BorderLayout.CENTER, panel);
frame.setSize(500,600);
frame.setVisible(true);
}
}