0

私は、JApplet およびアプリケーションとして実行できる電卓に取り組んでいます。コードをアプリケーションとして実行すると、メニューバーが表示されます。しかし、JApplet として実行すると、実行されません。

これは JApplet の制限ですか? すべてのコード (新しい JMenuBar、ボタンの追加など) を電卓クラスに配置すると、機能するためです。しかし、同じことを行い、JMenuBar を返す独自の静的メソッド MenuBar.create() を使用すると、機能しません。

これがコードです。メニューバーがアプレットに表示されないようにする何かを忘れてしまったのでしょうか?

電卓

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);
    }
}
4

1 に答える 1