JavaFX:ComboBox <test>根据Test

时间:2015-06-09 08:11:09

标签: java javafx

我有一个ComboBox。这个组合框有items=ObservableList<Test>。为了使用对象测试,我为组合框设置了单元格工厂:combobox.setCellFactory(...)。班级考试如下:

public class Test{
  private Integer id;
  private String name;
  //+getters and setters
}

问题:

  1. 如何使用id = X进行组合框设置选择测试(测试列表已添加到组合框中)?
  2. 如何获得当前选定的测试?

2 个答案:

答案 0 :(得分:1)

使用ComboBox<Test> combo

1)combo.getSelectionModel().select( X );其中X是Test的索引 2)combo.getSelectionModel().getSelectedItem();返回Test

答案 1 :(得分:1)

下面是通过id选择一个Test实例的代码。

public void selectTestById(Integer id){
  for(Test test : comboBox.getItems()){
    if(test.getId().equals(id)){
      comboBox.getSelectionModel().select(test);
      return;
    }
  }
}