0

MyFrameという名前のJFrameがあります

コンストラクターMyFrame()にはif条件があります

MyFrame() {

if(condition) {

openFrame();
}

}

条件が真でない場合、フレームを開きたくありません。それでも空白のフレームが開きます。

4

5 に答える 5

1

condition問題は、新しい を作成するプロセスに入るまでチェックしないことですMyFrame。条件が false の場合、openFrame()コンテンツを追加すると思われる をスキップしますが、MyFrameはまだ存在します。おそらく、if呼び出しているものの周りにステートメントを配置する必要がありnew MyFrame()ます。

于 2013-08-28T11:20:29.133 に答える
1

の状態を避けるようにしてくださいconstructor

最も好ましい方法は

if (condition)  {

MyFrame  frame = new MyFrame();

}
于 2013-08-28T11:22:31.060 に答える
0

初期化後JFrameif状態を確認するのではなく、状態を初期化することで問題が解決します。

于 2013-08-28T11:20:10.567 に答える
0

この条件付きチェックは、コンストラクターの外側で必要です。その条件が満たされている場合は、フレームを作成したくないので、最初からフレームを作成する必要はありません。

于 2013-08-28T11:20:22.557 に答える
0

どこかで setVisible(true) を MyFrame オブジェクトに呼び出したため、それがフレームを表示する唯一のメソッド呼び出しです。

于 2013-08-28T11:20:47.073 に答える