📅  最后修改于: 2023-12-03 14:42:22.179000             🧑  作者: Mango
在 JavaFX 中,ListView 是一个用于显示可选项目的控件,它允许用户从中选择一个或多个项目。有时我们需要获取用户选择的项目索引,以便进行相应的操作。以下是通过使用 JavaFX 的 ListView 控件来获取项目索引的示例代码:
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ListViewExample extends Application {
@Override
public void start(Stage primaryStage) {
// 创建 ListView 控件
ListView<String> listView = new ListView<>();
// 向 ListView 添加一些项目
ObservableList<String> items = listView.getItems();
items.add("Item 1");
items.add("Item 2");
items.add("Item 3");
// 设置 ListView 的选择模式为单选
listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
// 监听 ListView 的选择事件
listView.getSelectionModel().selectedIndexProperty().addListener((observable, oldIndex, newIndex) -> {
// 当用户选择项目时,获取新的索引值
if (newIndex.intValue() >= 0) {
int selectedIndex = newIndex.intValue();
System.out.println("Selected Index: " + selectedIndex);
// 或者你可以根据索引选择相应的项目
String selectedItem = items.get(selectedIndex);
System.out.println("Selected Item: " + selectedItem);
}
});
StackPane root = new StackPane(listView);
Scene scene = new Scene(root, 200, 150);
primaryStage.setTitle("ListView Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上面的示例中,我们首先创建了一个 ListView 控件,并向其添加了一些项目。然后,我们将选择模式设置为单选,这意味着用户只能选择一个项目。之后,我们添加了一个监听器来监听 ListView 的选择事件。当用户选择了一个项目时,监听器会根据选择的索引值执行相应的操作。
你可以根据具体的需求,在监听器中获取选择的索引值,并进行处理。例如,你可以根据索引选择相应的项目,或者根据索引执行一些特定的操作。
以上是通过 JavaFX 的 ListView 控件获取项目索引的示例代码。希望能对你有所帮助!