1

すべてを尊重し、私は ECLIPSE で Swing アプリケーション ウィンドウを作成しています。プログラムを「JAVA-Application」として実行すると、プログラムは正常に機能します。ただし、プログラムを「Java_applet」として実行しようとすると、「コマンド ボタン」、「テキスト ボックス」などのコンポーネントが表示されません。

私はJavaがまったく初めてです。以前は C# を扱っていました。よろしくお願いします。

import java.awt.EventQueue;
import java.applet.*;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import java.awt.BorderLayout;

public class sa extends Applet{

    private JFrame frame;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    sa window = new sa();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public sa() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JRadioButton rdbtnNewRadioButton = new JRadioButton("New radio button");
        frame.getContentPane().add(rdbtnNewRadioButton, BorderLayout.CENTER);
    }
}
4

1 に答える 1

2

クラスにアプレットを拡張させて、それが適切なアプレットのように動作するために必要なすべてであると期待することはできません。クラスに適切な init メソッドを与え、このメソッド内から GUI を構築する必要があります。しかし、最も重要なことは、アプレットのチュートリアルを読む必要があるということです。私自身、GUI で JPanel を拡張し、そのコンストラクターで GUI を構築し、必要に応じて JApplet または JFrame でこの JPanel を使用できます。

アンドリューがコメントで適切に指摘しているように、

OPは「アプレット」部分全体をダンプし、Java Web StartJFrameを使用してリンクから起動するというアイデアで開発する必要があると思います。少なくとも、Chrome と FireFox (どちらもアプレットのサポートをすべて削除する予定です) のユーザーのために機能する可能性が高くなります。

于 2015-10-10T14:53:06.693 に答える