我正在尝试创建一个待办事项列表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);
}
}
答案 0 :(得分:1)
创建ObservableList
而不是ArrayList
:
private ObservableList<String> doList = FXCollections.observableArrayList();
然后你可以做
ListView<String> root=new ListView<String>(doList);