0

ユーザーがアプリケーションのデータを編集できるように、単純な Swing GUI を開発しました。UI はかなりシンプルです。

  • JTabbedPane を含む JFrame。
  • 各タブは、データの側面を編集するツールを提供する JPanel の 1 つのサブクラスで構成されます。
  • データ自体は 1 つのオブジェクトに含まれ、参照は各 JPanel に渡されます。

しかし、問題があります。異なる JPanels を同期する必要があります。

たとえば、データ オブジェクトには人のリストとタスクのリストが格納されます。

  • 1 つの JPanel で、ユーザーは人物を編集できます。新しい人物を作成したり、既存の人物を削除したりできます。

  • 2 番目の JPanel を使用すると、ユーザーは人をタスクに割り当てることができます。

両方の JPanel は、最初に開いたときに初期化されます。コンポーネントが作成され、レイアウトが設定されます。これで、ユーザーは UI の操作を開始できます。

  1. JTabbedPane の最初のタブを開き、最初の Person を作成します。
  2. 彼は 2 番目のタブを開きます。2 番目のタブのコンポーネントが初期化され、使用可能な 1 人の人物がリストされます。彼はタスクを割り当てます。
  3. 彼は最初のタブに戻り、2 人目の人物を作成します。
  4. 彼は新しい人に対処するために 2 番目のタブに戻ります。

ただし、2 番目のタブとそこに含まれる JPanel は既に初期化されています。JPanel が更新されない限り、ユーザーには 2 番目の人は表示されません。タブ 2 の JPanel サブクラスにカスタム update メソッドを実装しました。

コンポーネントが再描画されたときにコンポーネントで発生する Swing イベントが必要です。

4

1 に答える 1