私は初心者のJavaプログラマです。さまざまなソースからJava FXを学びます。私のプログラムでは、ComboBoxを作成し、ArrayListからの一連のオブジェクトのtoString()出力を使って選択肢を設定したいと思います。ここで、ピザトッピングはオブジェクトとして定義されます。 、これまでのところは良いJavaFXプログラムのArrayListをObservable Listに変換しますか?
public class Topping{
private String name;
public Topping(String a){
this.name=a;
}
public String toString(){
return this.name;
}
}
//=================================================
import java.util.ArrayList;
public class PizzaMgr{
private ArrayList<Topping> OrderedToppings;
public PizzaMgr(){
OrderedToppings = new ArrayList<Topping>();
OrderedToppings.add(new Topping("Pepperoni"));
OrderedToppings.add(new Topping("Mushrooms"));
OrderedToppings.add(new Topping("Onions"));
}
public ArrayList<Topping> getList(){
return OrderedToppings;
}
}
:彼らは、PizzaMgrオブジェクトのArrayListのための基本的栄光のラッパーを作成し、保存されています。しかし、私がヒットしたヒッチは、ComboBoxにPizzaMgrのArrayListのすべてのアイテムをリストさせたいときです。理想的には、私はこのコンボボックスコンストラクタを使用したいと思います:
ComboBox<T>(ObservableList<T> items)
問題がありますか?すべてのArrayList項目をObservable Listに抽出する方法は?私はArraylists、Observable Lists、一般的なインターフェースについて読んできましたが、これをどう動かすかを理解することはできません。私はArrayListがCollectionであり、Observable ListがCollectionへのインターフェースであることを読んだので、私は自宅だったと思った。私はコンボボックスのコンストラクタを実装しようとするただし、:
import javafx.scene.control.*;
public class Menu{
public static void main(String[] args){
PizzaMgr m = new PizzaMgr();
ComboBox<Topping> topMenu = new ComboBox<Topping>(m.getList());
}
}
を私はコンパイラエラーを取得:
Menu.java:18: error: incompatible types: ArrayList<Topping> cannot be converted to ObservableList<Topping>
ComboBox<Topping> topMenu = new ComboBox<Topping>(m.getList());
^
だから、明らかに私のArrayListを観察可能な一覧として見られていません。
私にとっては、ArrayListをComboBoxコンストラクタにどのように表示すれば、Observable Listのように見えるのですか?それは手書きの構文ですか?または、ArrayListを事前に別のデータ構造に変換する必要がありますか?
多くのおかげで、
-RAO
...それに役立つことを願っています!非常にすばらしい!!!私は今月の上にいる、あなたは考えていない。百万のおかげで、これは本当に素晴らしいです。 :) – Pete