階層データの動的 JComboBox の作成
質問で提供されているような階層構造を示すデータを操作する場合、動的な JComboBox は、ユーザー対話を大幅に強化し、データ選択を簡素化します。これを実現するには、さまざまな階層レベルを表す複数の ComboBoxModel が必要です。
この特定の例では、3 つのコース (Course1、Course2、Course3) とそれらに対応するユニット (A1、A2、B1、B2) があります。 、B3、B4、C1、C2)。動的な JComboBox を作成するには、まずコースごとに ComboBoxModel を作成します。これらのモデルは、次のように各コースのユニットを保持します。
models[0] = new DefaultComboBoxModel(new String[] {"A1", "A2"}); models[1] = new DefaultComboBoxModel(new String[] {"B1", "B2", "B3", "B4"}); models[2] = new DefaultComboBoxModel(new String[] {"C1", "C2"});
次に、最初の JComboBox (combo1) にコースを設定します。
combo1 = new JComboBox(new String[]{ "Course 1", "Course 2", "Course 3" });
次に、2 番目の JComboBox (combo1) を設定します。デフォルトで最初のコースのユニットを含む JComboBox (combo2):
combo2.setModel(models[0]);
最後に、以下を追加します。選択を処理するために combo1 に ActionListener を追加します。 combo1 で選択したコースが変更されると、対応するユニットが combo2 に設定されます:
@Override public void actionPerformed(ActionEvent e) { int i = combo1.getSelectedIndex(); combo2.setModel(models[i]); }
このアプローチを実装することで、ユーザーがコースを選択し、リンクされた ComboBox に設定された対応するユニットを確認できる動的な JComboBox を作成します。 。この動的な動作により、特に階層構造または複雑なデータ構造を扱う場合に、直感的なナビゲーションとデータ選択が可能になります。
以上が階層データ用に動的 JComboBox を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。