0

私はこのプログラムで作業していますが、ユーザーはさまざまな種類のデータを求められますが、各種類のデータは前のものに依存します。そこで、最初のクイズを配置する 3 つのフレームを作成しました。ユーザーがボタン (次へ) を押すと同時に最初のウィンドウを閉じると、新しいウィンドウが開きます。私がこれまでに試したことは、ユーザーがそのボタン (次へ) を押したときにブール変数を変更することですが、新しいクラスからこの最後の変数を参照する方法がわかりません。これを解決するためのより良いアプローチを教えてください。

4

3 に答える 3

1

ウィンドウの開閉は複雑ではなく、ウィンドウ インスタンス (JFrame や JDialog など) を作成し、それらに対してsetVisible(true)orを呼び出すsetVisible(false)だけです。しかし、そうは言っても、ウィンドウがユーザーに意地悪に投げられる商用アプリケーションをいくつ使用していますか? ユーザー インターフェイスの悪夢なので、ほとんどありません。代わりに、ユーザーの好みに合わせてビューを CardLayout と交換します。情報をモーダルに取得する必要がある場合は、モーダルに設定された JDialog や JOptionPane などのモーダル ダイアログを使用します。

于 2012-11-23T23:34:52.973 に答える
0

(Next) ボタンの ActionListener メソッドに次の行を入力することで実行できると思います。

dispose();
NewJFrame n = NweJFrame();
n.setVisible(true);

dispose();は前のウィンドウを閉じ、NewJFrame という名前の別の新しいウィンドウがこの 2 行で開かれるとします。

NewJFrame n = NweJFrame();
n.setVisible(true);

ただし、その前に、以前のウィンドウ用に記述したように、NewJFrame のコードを記述する必要があります。

于 2012-11-24T00:15:19.320 に答える
0

このコードは半分しか成功していません。

Form2 f2 = new Form2();
if (f2 is Form2)
{
    f2.Show();
    this.Close();
}
else 
{
    Form1 f1 = new Form1();
    f1.Show();
}
于 2012-11-24T12:15:08.317 に答える