2017-12-05 1 views
0

私は、複数のクラスによって実装されたインターフェースを持っています。私はアイテムとしてオブジェクト自体を使用するすべてのクラスを持つJComboBoxを作成したいと思います。 リスト内のJComboBoxのオブジェクトを作成する

これは私が今各クラスのラインを使用しているものの一種である:

JComboBox<Vehicle> box = new JComboBox<>(); 
box.addItem(new Car()); 
box.addItem(new Truck()); 
box.addItem(new Plane()); 
// could be 5 more lines of object instantiation and adding 

あなたはJComboBoxの上getSelectedItem()を呼び出すと、それはオブジェクトとそのオブジェクトが返されますがのリストに追加されますインターフェイスの種類。各オブジェクトを明示的にインスタンス化するのではなく、クラスのリストを通してループでこれを行う方法はありますか?

答えて

1

代わりに、明示的に各オブジェクトをインスタンス化するクラスのリストをループでこれを行う方法はありますか?

この点についてはわかりません。あなたはまだする必要があります:

  1. 、リストを一覧に
  2. 反復処理をするクラスを追加し、各クラスのインスタンスを作成し、コンボボックスにオブジェクトを追加リスト
  3. を作成します。

これはコードを保存せず、プロセスをより複雑にします。はい、あなたはのようなコードを使用して、クラスのインスタンスを作成することができ、あなたの基本的な質問に答えるためにどのような場合には

List<Class> items = new ArrayList<Class>(); 
items.add(Car.class); 
items.add(Truck.class); 

Class aClass = Car.class; 
Car car = aClass.newInstance(); 

だから、のようなものを使用してリストを作成することができます次に、必要に応じてリストを反復処理します。

関連する問題