У меня простая проблема в моем JavaFX, почему-то это не сработало. PropertyValueFactory
не удалось получить мой ID
из класса: это мой контроллер:
public TableColumn ItemIDTableColumn;
ItemIDTableColumn.setCellValueFactory(new PropertyValueFactory<ReceiptItem, String>("mItemID"));
ItemIDTableColumn.setCellFactory(stringCellFactory);
ItemTableView.setItems(ReceiptItem);
Callback<TableColumn, TableCell> stringCellFactory =
new Callback<TableColumn, TableCell>() {
@Override
public TableCell call(TableColumn p) {
MyStringTableCell cell = new MyStringTableCell();
cell.addEventFilter(MouseEvent.MOUSE_CLICKED, new MyEventHandler());
return cell;
}
};
class MyStringTableCell extends TableCell<ReceiptItem, String> {
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null : getString());
setGraphic(null);
}
private String getString() {
return getItem() == null ? "" : getItem().toString();
}
}
И это мой класс:
package ModelData;
public class ReceiptItem {
private String mItemID;
public String getmItemID() {
return mItemID;
}
public void setmItemID(String mItemID) {
this.mItemID = mItemID;
}
}
Как видно здесь, я использую геттер и сеттер, так что кто-нибудь знает, в чем проблема?