JavaFX中的ListView是一个可滚动的列表控件,它可以用来显示一组数据。下面是ListView的详细使用步骤:
1. 导入JavaFX相关类库
```java
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.control.ListView;
```
2. 创建一个ObservableList对象来存储要显示的数据
```java
ObservableList
"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5"
);
```
3. 创建一个ListView对象,并将ObservableList对象设置为它的数据源
```java
ListView
```
4. 可以设置ListView的宽度和高度
```java
listView.setPrefWidth(200);
listView.setPrefHeight(200);
```
5. 可以设置ListView的选择模式
```java
listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
```
6. 可以添加事件监听器来处理ListView的选择事件
```java
listView.getSelectionModel().selectedItemProperty().addListener(
(ObservableValue extends String> ov, String old_val,
String new_val) -> {
System.out.println(new_val);
}
);
```
7. 将ListView添加到JavaFX场景图中
```java
root.getChildren().add(listView);
```
完整的ListView使用示例代码如下:
```java
import javafx.application.Application;
import javafx.collections.FXCollections;
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) {
// 创建一个ObservableList对象来存储要显示的数据
ObservableList
"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5"
);
// 创建一个ListView对象,并将ObservableList对象设置为它的数据源
ListView
// 设置ListView的宽度和高度
listView.setPrefWidth(200);
listView.setPrefHeight(200);
// 设置ListView的选择模式
listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
// 添加事件监听器来处理ListView的选择事件
listView.getSelectionModel().selectedItemProperty().addListener(
(ObservableValue extends String> ov, String old_val,
String new_val) -> {
System.out.println(new_val);
}
);
// 将ListView添加到JavaFX场景图中
StackPane root = new StackPane();
root.getChildren().add(listView);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
start函数和initialize函数
`start()`方法是JavaFX应用程序的入口点,它是JavaFX应用程序的主要启动方法。在`start()`方法中,我们可以创建JavaFX场景图形界面,并将其显示在JavaFX舞台上。因此,在`start()`方法中,我们可以初始化JavaFX应用程序的各种组件,如场景、舞台、控件等。 而初始化函数是指在JavaFX应用程序启动之前执行的方法。通常,我们可以在初始化函数中进行一些必要的设置,例如加载配置文件、初始化数据库连接等。初始化函数是JavaFX应用程序的一部分,但它不是JavaFX应用程序的入口点。
ObservableList