-1

JApplet に取り組んでいますが、カスタム メニューが必要です。このメニューを挿入すると、アプレット メニューと独自のメニューの下に表示されます。

package multiformat;
import ui.*;
import javax.swing.*;

import java.awt.*;

public class CalculatorMVC extends JApplet{

        Command command;                // het model
        JTextField input;

        public void init()
        {
            resize(250,200);

            // Maak het model
             Calculator calc=new Calculator();

            // Maak de controller en geef hem het model
            command = new Command(calc);
            input = new JTextField();
            input.setHorizontalAlignment(input.RIGHT);

            JMenuBar menuBar = new JMenuBar();
            JMenu menu = new JMenu("Menu");
            menuBar.add(menu);
            JMenu help = new JMenu("Help");
            menuBar.add(help);
            // Create a menu item
            JMenuItem item = new JMenuItem("Label");
            //item.addActionListener(actionListener);
            menu.add(item);

    //      this.setJMenuBar(menuBar);
            getContentPane().add(input, BorderLayout.NORTH);
            getContentPane().add(command,BorderLayout.SOUTH);
    }
}

この場合、両方のメニューが表示されます。私自身とアプレットのデフォルト。アプレットからデフォルトを削除するにはどうすればよいですか?

4

2 に答える 2

5

アプレットのアプレット ビューアー メニュー バーを削除するための小さなハック:

  • テスト中。
  • Java Web Startを使用してフリー フローティングを開始しました。
  • ブラウザのページからドラッグ。(実際には、そのために変更する必要がある場合があります。これは、init()が呼び出された時点で、アプレットがまだページに埋め込まれており、メニュー バーを削除するためのアプレット ビューア フレームがないためです。)

卑劣なアプレット

//<applet code='SneakyApplet' width=400 height=30></applet>
import java.awt.*;
import javax.swing.*;

public class SneakyApplet extends JApplet {

    public void init() {
        add(new JLabel("Look ma!  No Menu!"));
        Frame[] frames = Frame.getFrames();
        for (Frame frame : frames) {
            frame.setMenuBar(null);
            frame.pack();
        }
    }
}

コンパイルして表示するには

prompt> javac SneakyApplet.java
prompt> appletviewer SneakyApplet.java
于 2012-02-15T04:04:24.203 に答える