JavaFXListView和MouseeEvent

JavaFXListView和MouseeEvent,javafx,javafx-2,Javafx,Javafx 2,我有一个ListView,我希望它在单击其他项目时更改所选项目。例如,我有: result.getSelectionModel().select(0); 我想将其更改为。单击鼠标,选择(0)为。选择(x),其中x是该列表视图上的索引。我不确定我是否解释正确 希望你能帮忙,谢谢 ListView的默认行为是选择用户单击的项目。您不需要编写代码来实现这一点 只需运行以下示例并单击列表项,您将看到选择的更改 import javafx.application.Application; import

我有一个ListView,我希望它在单击其他项目时更改所选项目。例如,我有:

result.getSelectionModel().select(0);
我想将其更改为
。单击鼠标,选择(0)
。选择(x)
,其中x是该列表视图上的索引。我不确定我是否解释正确


希望你能帮忙,谢谢

ListView的默认行为是选择用户单击的项目。您不需要编写代码来实现这一点

只需运行以下示例并单击列表项,您将看到选择的更改

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.stage.Stage;

public class ListViewViewer extends Application {
    @Override
    public void start(Stage stage) {
        ListView<String> list = new ListView<>();
        ObservableList<String> items = FXCollections.observableArrayList(
                "Single", "Double", "Suite", "Family App");
        list.setItems(items);
        list.getSelectionModel().select(0);

        stage.setScene(new Scene(list));
        stage.show();

        list.requestFocus();
    }

   public static void main(String[] args) {
        launch(args);
    }
}
导入javafx.application.application;
导入javafx.collections.FXCollections;
导入javafx.collections.ObservableList;
导入javafx.scene.scene;
导入javafx.scene.control.ListView;
导入javafx.stage.stage;
公共类ListViewViewer扩展了应用程序{
@凌驾
公众假期开始(阶段){
ListView列表=新建ListView();
ObservableList items=FXCollections.observableArrayList(
“单人”、“双人”、“套房”、“家庭应用程序”);
列表。设置项目(项目);
list.getSelectionModel().select(0);
舞台场景(新场景(列表));
stage.show();
requestFocus();
}
公共静态void main(字符串[]args){
发射(args);
}
}

但它不起作用,因为我使用的是那一行代码,.select()需要一个int。。。如果它没有达到你的期望,你需要编辑你的问题并澄清。