java - 如何强制用户从 ListViewer 中进行选择?

标签 java javafx scenebuilder

我的问题是,即使用户没有在 listViewer 中进行选择,我的程序仍然创建一个引用“null”的对象。我如何删除该对象,或者更好的是,如果未进行选择,如何使其无法继续?

只要我在列表中选择一个项目,该程序就可以正常工作。如果您需要更多信息或代码,请告诉我!

编辑:显然我提供了有关我的问题的很少信息。假设 ListView 选择提供“Driver1”。如果我点击“预订”按钮,新的预订将让 Driver1 作为司机。但是,如果我只是输入“Book”按钮,我会得到“null”作为驱动程序

 int input = listView.getSelectionModel().getSelectedIndex();

    TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);    

最佳答案

如果未选择任何内容,

getSelectedIndex() 将返回 -1(请参阅 documentation )。所以你可以这样做

int input = listView.getSelectionModel().getSelectedIndex();

if (index >=0) {
    TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);   
}

或者,使用 getSelectedItem() 可能会更方便(取决于您的 createBooking 方法正在执行的操作)。如果未选择任何内容,该方法将返回 null:

MyDataType item = listView.getSelectionModel().getSelectedItem();

if (item != null) {
    // ...
}

其中 MyDataTypeListView 的数据类型。

关于java - 如何强制用户从 ListViewer 中进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132419/

相关文章:

javafx - 显示奇怪字符的场景生成器编辑器

java - 使用 GWT 监控数据库

JavaFX TitledPane 内容在折叠后消失

JavaFX 标签不响应鼠标事件处理程序

mysql - 使用javafx将图像上传到数据库

java - TableView 中 RadioButton 的奇怪行为

javafx - 为什么 JavaFX 会模糊控件以及如何修复它?

java代码获取ip地址类

java - 当类名称冲突时导入包而不是类?

java - ProgressDialog 出现得太晚