編集:以下のすべては有効なプログラミング知識ですが、代わりにクラスをMiniPad
拡張することを検討することもできます。JDialog
私はこれまで使用したことがありませんが、その実装はによく似ていJFrame
ます。MiniPad
クラスで実際に多くを変更する必要はないかもしれません。ドキュメントはここにあります:http://docs.oracle.com/javase/7/docs/api/javax/swing/JDialog.html
理由がわからない場合は、AndrewThompsonの投稿をここで確認してください。
-
私があなたの質問について理解したことから、MiniPad
extends JFrame
、そしてメソッドはクラスpad()
の新しいインスタンスを作成します。MiniPad
最も簡単な解決策は、MiniPad
クラスを(少なくともpad()
メソッドを介して)シングルトンに変換することです。シングルトンは、一度に1つのインスタンス(またはオブジェクト)のみが存在できるクラスのタイプです。静的メソッド(この場合pad()
)を呼び出すことにより、オブジェクトのインスタンスがすでに存在するかどうかを確認します。含まれている場合は、その既存のオブジェクトを使用するだけです。
public class MiniPad extends JFrame {
//whatever code you have
private static MiniPad padInstance = null; //the singleton instance of your MiniPad
public static MiniPad pad() {
if(padInstance == null)
padInstance = new MiniPad();
//If you want to reset the object every time you call the method for whatever reason, do it here
pad.setVisible(true); // I believe this is all you want to do
}
}
これはあなたが望むことをするはずです。pad()
メソッドを呼び出すと、 1つだけMiniPad
が表示されます。
ただし、あなたの質問を間違って読んだ場合は、お知らせください。回答を修正します。
シングルトンに関する情報:http:
//en.wikipedia.org/wiki/Singleton_pattern