我正在尝试创建一个待办事项列表 javafx 类,并且使用 ListView 来执行此操作,但我想使用我制作的数组列表来设置 ListView 的内容。所以基本上,一旦我打开程序,您就会得到一个文本字段和按钮,用于将项目添加到数组列表(即 ListView )中。无论如何,我可以用 ListView 替换数组列表,然后直接将项目添加到其中?顺便说一句,我是一名新手程序员。
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);
}
}
最佳答案
创建一个ObservableList
而不是ArrayList
:
private ObservableList<String> doList = FXCollections.observableArrayList();
然后你就可以做
ListView<String> root=new ListView<String>(doList);
关于java - 如何将 ListView 的内容变成 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34481672/