0

ユーザーがブラックジャックをプレイできるようにする単純なJavaスイングプログラムを作成中です。プログラム内の 1 つの「画面」を表す 10 ~ 15 個のクラスがあり、それぞれ JLayeredPane を拡張し、アクション リスナーを実装します。デッキ、カード、ラウンド、プレーヤーなどの他のクラスもあります。

次に、別のクラスには2つのプロパティがあります。配列arra(すべてのパネルを保持します)とJframe 1(すべてのパネルが移動する)であり、public static void mainがあります。

次に、同じクラスで 2 つのことを行います。パネルを置き換えるメソッドです。

public void screenInit(int i)
{
    one.setContentPane(arra[i-1]);
    one.invalidate();
    one.validate();
    one.repaint();
}

次に、このクラスのオブジェクトを psvm に作成し、最初のパネルに配置することから始めます。

したがって、私の質問は、最初のパネルが表示されていることです。これには、アクションリスナーが JButton にアタッチされており、JFrame と配列を保持するクラスで作成された JFrame にどのようにアクセスして、上記のメソッドを使用できるようにしますか。現在、毎回新しいフレームを作成する必要があるため、相互に構築されていますか?

これが不可能な場合、各パネルの複数のボタンが相互につながるようにクラスを編成するにはどうすればよいですか?

ありがとう

4

1 に答える 1

4

1) Swing JComponents を使用する場合 、現在表示されている GUI の有効な要素ではない現在one.invalidate();のステータスを設定する理由がないため、コード行を削除できます。LayoutManagerJPanel

2) remove / modify / addJComponent(s) が既に表示されている の上にあるContainer場合、コード行で成功しrevalidate()repaint()

3)あなたの本当の問題は誰にもわかりませんし、誰かがあなたのモニターでコードを見ることもできません.GUIを再描画して問題を特定し、SSCCEで質問を編集することをお勧めします

于 2012-05-08T21:37:56.550 に答える