私は自分が書いているゲームデータベースプログラムのスキルで満たすJTreeを持っています。
いくつかのカテゴリとサブカテゴリ(実際のスキル)があり、その下のレベルのスキル(場合によっては)があります。現在、これを1つのスキルクラス、内部のいくつかのオプション、いくつかの列挙型、およびスキルがカテゴリ(isCategoryと呼ばれる)であるかどうかを確認するメソッドでエミュレートしています。注意すべき他の2つのこと:
- スキルの種類が異なれば、動作も異なります。
一度購入するものもあれば、数回購入するものもあり、選択できるオプションがあるものもあります。 - カテゴリが異なれば、スキルも異なります。
たとえば、武器スキルのカテゴリにはさまざまな種類の武器がありますが、鎧スキルは別のセクションにあります。
セルレンダラーを介してComboBoxをツリー内の各ノードにアタッチする非常に良い例を見てきました。これが私が見つけた例です。
上記のコードは理解できますが、コンボボックスをツリーではなくノードにアタッチする方法がわかりません。「ツリーの使用方法」を読み、実行して、ツリーのデモのいくつかのコードを確認しました。基本的なツリーを作成することはできますが、チュートリアルは少しわかりにくく、進め方を自分で理解するのに十分な詳細が不足しています。リーフノードのみをチェックボックスとしてレンダリングする別の例を見つけました。これははるかに複雑です。
明らかに、私はこの2つを組み合わせたいと思います。さまざまなカテゴリにさまざまなスキルを持たせることができ、さまざまなスキルにさまざまなレベルの習熟度を持たせることができます。ただし、そうすることを考えることができる唯一の方法は、タイプごとに異なるJComboBoxModelを使用することですが、これを行う方法がわからず、方法もわかりません。チェックボックスの例を編集してComboBoxを使用しようとしましたが、私の人生ではそれを理解できません。
私はJavaに不慣れで、何をすべきかを理解するのに苦労しているので、誰かがこれを実行するためのアプローチについてのヒントを教えてもらえますか?