5/8~5/9总结

JavaFX中的ListView是一个可滚动的列表控件,它可以用来显示一组数据。下面是ListView的详细使用步骤:

1. 导入JavaFX相关类库

```java
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.control.ListView;
```

2. 创建一个ObservableList对象来存储要显示的数据

```java
ObservableList items = FXCollections.observableArrayList (
    "Item 1",
    "Item 2",
    "Item 3",
    "Item 4",
    "Item 5"
);
```

3. 创建一个ListView对象,并将ObservableList对象设置为它的数据源

```java
ListView listView = new ListView(items);
```

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 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 items = FXCollections.observableArrayList (
            "Item 1",
            "Item 2",
            "Item 3",
            "Item 4",
            "Item 5"
        );

        // 创建一个ListView对象,并将ObservableList对象设置为它的数据源
        ListView listView = new ListView(items);

        // 设置ListView的宽度和高度
        listView.setPrefWidth(200);
        listView.setPrefHeight(200);

        // 设置ListView的选择模式
        listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

        // 添加事件监听器来处理ListView的选择事件
        listView.getSelectionModel().selectedItemProperty().addListener(
            (ObservableValue 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 friendList 是一个可观察的字符串列表,它可以用于存储和管理朋友列表。它具有以下作用: 1. 存储朋友列表:可以将朋友的名称添加到列表中,以便在需要时快速访问。 2. 管理朋友列表:可以使用列表中的方法对朋友列表进行管理,例如添加、删除、排序等。 3. 可观察性:当列表中的数据发生变化时,可以通过监听列表的变化来及时更新界面或执行其他操作。 4. 与其他组件的集成:可以将 friendList 与其他组件(例如 ListView)结合使用,以便在界面上显示朋友列表,并允许用户进行交互。

你可能感兴趣的:(java,jvm,c++)