📅  最后修改于: 2023-12-03 15:16:03.893000             🧑  作者: Mango
在JavaFX中,ListView是一个用于展示列表的控件。当用户选择列表中的一个元素时,我们可能需要获取该元素的索引。这个索引可以用于进一步的处理或者展示给用户。
下面是一个简单的示例,展示了如何在JavaFX中使用ListView并获取选定元素的选定索引。
首先,我们需要先创建一个ListView并向其添加一些元素。我们可以通过ObservableList来持有我们的数据,并将该列表设置为ListView的数据源。
ListView<String> listView = new ListView<>();
listView.getItems().addAll("Item 1", "Item 2", "Item 3", "Item 4", "Item 5");
要获取选定元素的选定索引,我们可以使用ListView的getSelectionModel()方法来获取SelectionModel对象,然后再使用getSelectedIndex()方法来获取选定索引。
int selectedIndex = listView.getSelectionModel().getSelectedIndex();
下面是一个完整的JavaFX应用程序示例代码,演示了如何在ListView中获取选定元素的选定索引。
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class ListViewExample extends Application {
@Override
public void start(Stage primaryStage) {
ListView<String> listView = new ListView<>();
ObservableList<String> items = listView.getItems();
items.addAll("Item 1", "Item 2", "Item 3", "Item 4", "Item 5");
listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
int selectedIndex = listView.getSelectionModel().getSelectedIndex();
System.out.println("Selected Index: " + selectedIndex);
});
VBox root = new VBox(listView);
primaryStage.setScene(new Scene(root, 200, 200));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
上述代码创建了一个包含5个元素的ListView,并在用户选择元素时打印出选定索引。
希望上述示例能够帮助你理解如何在JavaFX中获取ListView中选定元素的选定索引。