我ListView
使用数据库搜索的结果修改 a,以便稍后使用该选择发出另一个数据库请求。
我想得到那个的字段值ListView
。我可以使用什么方法呢?
我只是想我也可以添加一个事件onclick
并将其保留在控制器的属性上。这也可以接受吗?
用这样的列表视图说:
ListView<String> listView =new ListView<String>();
从 ListView 中获取选定的元素:
listView.getSelectionModel().getSelectedItem();
跟踪(监听)列表视图选择的变化:
listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
System.out.println("ListView selection changed from oldValue = "
+ oldValue + " to newValue = " + newValue);
}
});
您可以制作自定义事件处理程序,首先制作一个类来处理鼠标事件。
import javafx.event.EventHandler;
import javafx.scene.input.MouseEvent;
class ListViewHandler implements EventHandler<MouseEvent> {
@Override
public void handle(MouseEvent event) {
//this method will be overrided in next step
}
}
完成课程后,前往您希望活动发生的地方
list.setOnMouseClicked(new ListViewHandler(){
@Override
public void handle(javafx.scene.input.MouseEvent event) {
System.out.print(list.getSelectionModel().getSelectedIndex());
}
});
JFXtras 有一个扩展 ListView 的类,它有一个名为 selectedItemProperty 的属性,我发现它很方便。