いくつかの JFrames を作成しましたが、それらを JApplet から呼び出したいと考えています。これを行う最善の方法は何ですか?JFrames を init メソッドでインスタンス化して、ボタンが押されるたびに呼び出すことはできますか?
3 に答える
3
Java アプレットで JFrame を開くボタンを作成するにはどうすればよいですか?
おそらくこれを行うべきではありませんが、JApplet から別のウィンドウを開きたい場合は、JDialog を作成して表示します。それらは JFrame と同様に作成および表示されますが、異なるコンストラクターを使用します。JDialog の「所有者」パラメータ用にアプレットの Window を取得する必要があります。これは次の方法で取得できます。
Window w = (Window) SwingUtilities.getAncestorOfClass(Window.class, comp);
comp は、JApplet で表示されるコンポーネントです。
于 2012-04-20T21:13:24.017 に答える
0
OK、初期化時に JFrame を初期化して保存するようですね。JFrame を初期化から再インスタンス化する必要はありません。代わりに、アプレットのフィールドに保存して、ボタンが押されるたびに使用します。
または、シングルトンと遅延初期化を使用できます。
class JFrameToOpen extends JFrame {
private static JFrame frame = null;
private JFrameToOpen() {
//init
}
public static GetJFrame() {
if(frame==null) {
frame=new JFrameToOpen();
}
return frame;
}
}
しかし、シングルトンは見苦しく、多くの人がシングルトンを避けることを選択しています。
于 2012-04-20T21:02:35.100 に答える