0
for (final Type type : category.getTypes()) {
    TableColumn<Item, Integer> col = new TableColumn<Item, Integer>(type.getName());

    col.setCellValueFactory(new Callback<CellDataFeatures<Item>,
            ObservableValue<Integer>>() {
        @Override
        public void call(CellDataFeatures<Item> item) {
            return item.getValue().getPrice(type);
        }
    });
    priceColumn.add(col);
}

呼び出しメソッド内の型の値を取得するにはどうすればよいですか?

4

2 に答える 2

0

別のメソッドを作成する必要があるようですvoid call(CellDataFeatures<Item> item, Type type)。このようにして、for ループ内でそのメソッドを呼び出すことができます。あなたの問題を完全に理解したかどうかはわかりません。

于 2013-01-20T10:57:02.177 に答える
0

setType() を作成し、型を for ループの最初のステートメントの一部として保存します。静的な getType を作成し、Callback クラスの型にアクセスします。

// New Modifed code
Class Test
{
Type type = null;
public void setType(type)
{
this.type = type;
}

public static Type getType()
{
return type;
}

for (final Type type : category.getTypes()) {
    setType(type);
    TableColumn<Item, Integer> col = new TableColumn<Item, Integer>(type.getName());

    col.setCellValueFactory(new Callback<CellDataFeatures<Item>,
            ObservableValue<Integer>>() {
        @Override
        public void call(CellDataFeatures<Item> item) {
            return item.getValue().getPrice(Test.getType());
        }
    });
   priceColumn.add(col);
}
}
于 2013-01-20T11:16:31.327 に答える