JavaFX TableColumn显示HashMapValue(非属性)

时间:2015-08-14 14:00:48

标签: javafx hashmap tableview tablecolumn

我提出了一个简单的问题,但是我已经坚持了几个小时。 我有一个UnitMap类,HashMap

包含AttackCommand

的班级UnitMap units = new UnitMap();

我试图在TableView中显示MapEntry的值:

@FXML
private TableColumn<AttackCommand, Integer> columnlkav;

@FXML
private TableColumn<AttackCommand, Integer> columnstart;

@FXML
private TableView<AttackCommand> tableview;

@FXML
private TableColumn<AttackCommand, String> columnname;

@FXML
private TableColumn<AttackCommand, Point> columntarget;

private ObservableList<AttackCommand> tableData = FXCollections.observableArrayList();

@Override
public void initialize(URL location, ResourceBundle resources) {
    AttackCommand ac = new AttackCommand();
    ac.getUnits().put(ConstantsUnit.UNIT_ID_LKAV, 5);
    ac.setName("Testname");
    tableData.add(ac);

    columnname.setCellValueFactory(new PropertyValueFactory<AttackCommand, String>("name"));
    columnlkav.setCellValueFactory(new PropertyValueFactory<AttackCommand, Integer>("units"));

    tableview.setEditable(true);
    columnname.setEditable(true);
    tableview.setItems(tableData);

}

因此,TableColumn中显示的条目逻辑{2 = 5},因为ConstantsUnit.UNIT_ID_LKAV = 2

如何正确显示值?我尝试了网上的一些例子,但没有得到它

顺便说一下:我没有SimpleStringProperty使用name而不使用AttackCommand中的其他属性类,因为我想通过EclipseLink序列化数据到我的DerbyDB。

0 个答案:

没有答案