JavaFX 2,将项目从ListView添加到TableView

时间:2013-08-23 07:22:57

标签: listview javafx-2 tableview

通过在ListView项目上双击左键来填充TableView。

这个TableView有两个最右边的列呈现为ChoiceBox和CheckBox,一切正常。

我的问题如下:添加一个项目然后在CheckBox上设置标志和ChoiceBox列的任何数字

enter image description here

现在,如果我再次在ListView行上单击以向表中添加另一个项目,我之前的检查和数字设置将消失

enter image description here

整个项目可以在这里下载

ListViewAndTableView

由于

修改:我忘记了以下属性方法

public SimpleBooleanProperty onProperty() {
          return on_col;
      }
      public SimpleStringProperty toolProperty(){
          return tool_col;
      }
      public SimpleStringProperty chartProperty(){
          return chart_col;
      }
      public SimpleStringProperty paneProperty(){
          return pane_col;
      }

通过添加这些方法,现在修复了CheckBoxes问题,它只是修复了在ChoiceBox上选择的数字。

1 个答案:

答案 0 :(得分:0)

当您为EventHanlder致电listviewIndicator时,您确实在Indicators存储了默认值:

Indicators ind = new Indicators(indSelected, "", "", true);

如果我正确理解您的代码,这些值永远不会在列表中更改。因此,当您再次向Indicators添加另一个ObservableList<Indicators> taToolsList = FXCollections.observableArrayList();时,仍然有两个Indicators仍具有上述默认值。正如您在下面设置完整的taToolsList到您的TableView之前,在插入整个列表之前,已更改的内容已经消失。

tableviewIndicators.setItems(taToolsList);

我希望这是有道理的。