3

私はかなり新しいです。Java Swingで、アプリケーションにCardLayoutを使用しています。このアプリでは、ユーザーはアクティビティを作成でき、別の JPanel で既存のアクティビティを表示できます。

カードの更新に問題があります (ラベルがある場所)。アクティビティを追加すると、アプリを再起動すると正常に動作します。再起動を必要としない方法を探しています。

つまり、新しいラベル データが表示されるように、実行中にパネルを再構築/更新する方法を知りたいと思います。

前もって感謝します!

4

2 に答える 2

9

可視 GUI にコンポーネントを追加するときは、コンポーネントが追加されたことを GUI に伝えて、レイアウト マネージャーを呼び出せるようにする必要があります。

panel.add( component );
panel.revalidate();
于 2011-03-12T17:51:52.680 に答える
0

あなたが探しているのは Observer デザイン パターンのようです。

基本的には、すべてのパネルを追加する Observer インスタンスが 1 つあるということです。パネルの値を更新すると、オブザーバーに何かが変更されたことを通知します。オブザーバーは、監視対象のすべてのパネルに値が変更されたことを通知し、値を更新します。

http://en.wikipedia.org/wiki/Observer_pattern

于 2011-03-12T17:46:39.307 に答える