如何使ListView的内容成为ArrayList?

时间:2015-12-27 15:03:43

标签: java listview arraylist javafx

我正在尝试创建一个待办事项列表javafx类,我使用列表视图来执行此操作,但我想使用我创建的数组列表设置列表视图的内容。基本上,一旦我打开程序,你会得到一个文本字段和按钮,以便将项目添加到列表视图的arraylist中。无论如何,我可以用listview替换arraylist并直接添加项目到那个?顺便说一下,我是一名新手程序员。

package learning;

import java.util.ArrayList;


import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;

import javafx.stage.Stage;

public class ToDoList extends Application{

        private ArrayList<String> doList=new ArrayList<>();
        private String text="";
    public void start(Stage primaryStage){
        primaryStage.setTitle("2DoList");

        TextField userTextField = new TextField();
        Button enter=new Button("Add");
        enter.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent e) {

                text= userTextField.getText();
               doList.add(text);
               userTextField.setText("");
               text="";
            }
        });
        ListView<String> root=new ListView<String>((ObservableList)      doList);

        Scene scene=new Scene(root,250,500);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

}

1 个答案:

答案 0 :(得分:1)

创建ObservableList而不是ArrayList

private ObservableList<String> doList = FXCollections.observableArrayList();

然后你可以做

ListView<String> root=new ListView<String>(doList);