📌  相关文章
📜  javafx如何在listview中获取选定元素的选定索引-Java(1)

📅  最后修改于: 2023-12-03 15:16:03.893000             🧑  作者: Mango

JavaFX如何在ListView中获取选定元素的选定索引

在JavaFX中,ListView是一个用于展示列表的控件。当用户选择列表中的一个元素时,我们可能需要获取该元素的索引。这个索引可以用于进一步的处理或者展示给用户。

下面是一个简单的示例,展示了如何在JavaFX中使用ListView并获取选定元素的选定索引。

创建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中选定元素的选定索引。