首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在JavaFX中,我希望有一个按钮appendText并更新一个ArrayList

在JavaFX中,您可以通过以下步骤实现在按钮点击时追加文本并更新一个ArrayList的功能:

  1. 首先,您需要创建一个JavaFX应用程序并导入必要的类,包括JavaFX的UI组件和集合类。
代码语言:txt
复制
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
  1. 接下来,您可以创建一个ArrayList来存储追加的文本。
代码语言:txt
复制
ArrayList<String> textList = new ArrayList<>();
  1. 然后,您可以创建一个JavaFX的主舞台(Stage)和根节点(Root)。
代码语言:txt
复制
@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("JavaFX AppendText Example");

    VBox root = new VBox();
    root.setSpacing(10);

    Scene scene = new Scene(root, 300, 200);
    primaryStage.setScene(scene);
    primaryStage.show();
}
  1. 在根节点中,您可以添加一个文本框(TextField)用于输入要追加的文本,并添加一个按钮(Button)用于触发追加操作。
代码语言:txt
复制
TextField textField = new TextField();
Button appendButton = new Button("Append Text");

root.getChildren().addAll(textField, appendButton);
  1. 接下来,您可以为按钮设置一个单击事件的监听器,当按钮被点击时,将文本追加到ArrayList中。
代码语言:txt
复制
appendButton.setOnAction(e -> {
    String text = textField.getText();
    textList.add(text);
});
  1. 最后,您可以将ArrayList中的文本显示在一个列表视图(ListView)中,以便查看更新后的结果。
代码语言:txt
复制
ListView<String> listView = new ListView<>();
ObservableList<String> items = FXCollections.observableArrayList(textList);
listView.setItems(items);

root.getChildren().add(listView);

完整的JavaFX应用程序代码示例:

代码语言:txt
复制
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.util.ArrayList;

public class JavaFXAppendTextExample extends Application {

    ArrayList<String> textList = new ArrayList<>();

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("JavaFX AppendText Example");

        VBox root = new VBox();
        root.setSpacing(10);

        Scene scene = new Scene(root, 300, 200);
        primaryStage.setScene(scene);
        primaryStage.show();

        TextField textField = new TextField();
        Button appendButton = new Button("Append Text");

        appendButton.setOnAction(e -> {
            String text = textField.getText();
            textList.add(text);
            textField.clear();
            items.setAll(textList);
        });

        ListView<String> listView = new ListView<>();
        ObservableList<String> items = FXCollections.observableArrayList(textList);
        listView.setItems(items);

        root.getChildren().addAll(textField, appendButton, listView);
    }

    public static void main(String[] args) {
        launch(args);
    }
}

这个示例中,我们通过一个按钮(appendButton)实现了追加文本到ArrayList的功能。当按钮被点击时,通过监听器将文本从文本框(textField)中获取并添加到ArrayList(textList)中,然后将ArrayList中的所有文本显示在列表视图(listView)中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

34秒

PS使用教程:如何在Photoshop中合并可见图层?

12分42秒

广州巨控云组态WEBGUI-1/S/M/H学习视频

1分44秒

广州巨控GRM532YW实现CODESYS系列PLC远程下载调试

1分29秒

巨控GRM300数据网关西门子1500连接485仪表

2分56秒

广州巨控GRM230/231/232/233Q-4D4I4Q视频讲解

1分18秒

INTOUCH上位机组态通过巨控GRM531/533、232YW远程通讯西门子1200PLC

5分33秒

JSP 在线学习系统myeclipse开发mysql数据库web结构java编程

14分30秒

Percona pt-archiver重构版--大表数据归档工具

16分8秒

人工智能新途-用路由器集群模仿神经元集群

领券