이런 식으로 컬럼을 만들 수는 없습니다. TableView
생성자는 ObservableList
을 매개 변수로 사용하지만 테이블 값, 즉 행을 찾을 것으로 예상합니다.
테이블에 항목을 추가하는 일반적인 방법이 없기 때문에 각 테이블이 데이터 모델에 다소 결합되어 있기 때문에 두려워합니다. 표시하고자하는 클래스가 Person
이라고 가정 해 보겠습니다.
public class Person {
private String name;
private String surname;
public Person(String name, String surname) {
this.name = name;
this.surname = surname;
}
public String getName() {
return name;
}
public String getSurname() {
return surname;
}
}
이렇게하려면 테이블과 두 개의 열을 만들어야합니다. PropertyValueFactory
은 개체에서 필요한 데이터를 가져 오지만 필드에 표준 명명 규칙 (getName()
, getSurname()
등)을 따르는 접근 메서드가 있는지 확인해야합니다. 그렇지 않으면 작동하지 않습니다.
TableView tab = new TableView();
TableColumn nameColumn = new TableColumn("Name");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn surnameColumn = new TableColumn("Surname");
surnameColumn.setCellValueFactory(new PropertyValueFactory<>("surname"));
tab.getColumns().addAll(nameColumn, surnameColumn);
지금 당신이 할 일은 당신의 Person
개체를 만들고 테이블 항목에 추가하는 것입니다.
Person person = new Person("John", "Doe");
tab.getItems().add(person);
출처
2016-09-07 11:10:04
Dth
'Table1.getItems()'는 행을 추가 할 수있는 곳입니다. – assylias
'TableView'을'TableView' 열로 사용할 수 없습니다. – fabian