我的桌景:
TableView<Person> = new TableView<Person>();但人就像:
class Person {
String firstName;
public getFirstName() {return firstName;}}
也就是说,它没有新的javafx风格的属性。它是一个现有的类,由我使用的库实例化。
我用以下代码创建该列:
TableColumn columnFirstName = new TableColumn("First Name");
columnCodfis.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Person, String>,ObservableValue<String>>(){
@Override
public ObservableValue<String> call(CellDataFeatures<Person, String> arg) {
if (arg.getValue()==null) return null;
return new ReadOnlyStringWrapper(arg.getValue().firstName);
}
});它很累赘,但很管用。
我的问题是:
发布于 2012-07-09 12:55:01
关于第一点,我认为你做不到。
关于第二点,我认为你也做不到。反正不是直接的。我认为最好的解决方案是使用JavaBeanStringProperty包装firstname属性,并在每次您想要对单元格进行修改时调用fireValueChangedEvent()。
https://stackoverflow.com/questions/11392429
复制相似问题