我的简单表视图在javaFX中不起作用

时间:2015-11-27 05:42:36

标签: java javafx javafx-2

我是javaFx的初学者,现在我正在使用在线toturial的帮助将我的Person Objects中的数据插入到我的tableView。但是我的代码有一些问题。既没有编译时也没有运行时错误。但是没有我的tableView中的数据。作为javaFx的初学者,我已经检查了很长时间的代码。但我不知道为什么会这样。请你看看那个吗?这是我的模态类,Person.java < / p>

Lines:2

这是我的控制器类

public class Person {
        public  SimpleStringProperty firstName;
        public SimpleStringProperty lastName;

        public Person(String fName, String lName) {
            this.firstName = new SimpleStringProperty(fName);
            this.lastName = new SimpleStringProperty(lName);
        }
}

这是我的FXML代码

public class FXMLDocumentController implements Initializable {

    private ObservableList<Person> personData = FXCollections.observableArrayList();

   @FXML
   private TableView<Person> table;
     @FXML
    private TableColumn<Person, String> col1;
    @FXML
    private TableColumn<Person, String> col2;

    @Override
    public void initialize(URL url, ResourceBundle rb) {
         col1.setCellValueFactory(
            new PropertyValueFactory<Person,String>("firstName")
        );

        col2.setCellValueFactory(
            new PropertyValueFactory<Person,String>("lastName")
            );  
        personData.add(new Person("John","Leon"));
        System.out.println("data to collection added");
        table.setItems(personData);
        System.out.println("collection  to table added");


    }    

}

感谢您的关注

1 个答案:

答案 0 :(得分:1)

您应该在Person班级中使用这些方法:

public String getFirstName() {
    return firstName.get();
}

public void setFirstName(String s) {
    firstName.set(s);
}

public String getLastName() {
    return lastName.get();
}

public void setLastName(String s) {
    lastName.set(s);
}