Ich verwende SceneBuilder
, um eine GUI zu erstellen. Jetzt habe ich ein Problem. Wenn ich ein einzelnes Objekt in einem TableView
zeigen möchte, funktioniert alles gut, aber wenn ich einen anderen Konstruktor verwende, der ein anderes Objekt enthält, erscheint das zweite Objekt einfach nicht in TableView
.Objekt enthält ein anderes Objekt. Wie man es in TableView zeigt?
Code:
public class MainController implements Initializable {
@FXML
TableView<Table> tableID;
@FXML
TableColumn<Table, Integer> iID;
@FXML
TableColumn<Table, String> iName;
@FXML
TableColumn<Table, String> iDate;
@FXML
TableColumn<Table, Integer> iPrice;
@FXML
TableColumn<Table1, String> surname;
@FXML
TableColumn<Table1, String> name;
Table1 t1 = new Table1("just", "testing");
final ObservableList<Table> data = FXCollections.observableArrayList(
new Table(t1, 12, "Name 1", "01/01/20012", 50),
new Table(t1, 1, "Name 1", "01/01/20012", 50),
new Table(t1, 3, "Name 1", "01/01/20012", 50));
@Override
public void initialize(URL location, ResourceBundle resources) {
iID.setCellValueFactory(new PropertyValueFactory<Table, Integer>("rID"));
iName.setCellValueFactory(new PropertyValueFactory<Table, String>("rName"));
iDate.setCellValueFactory(new PropertyValueFactory<Table, String>("rDate"));
iPrice.setCellValueFactory(new PropertyValueFactory<Table, Integer>("rPrice"));
surname.setCellValueFactory(new PropertyValueFactory<Table1, String>("surname"));
name.setCellValueFactory(new PropertyValueFactory<Table1, String>("name"));
tableID.setItems(data);
}
Table1-Klasse;
private String surname;
private String name;
public Table1(){
}
public Table1(String surname, String name){
this.name = name;
this.surname = surname;
}
public String getVorname() {
return surname;
}
public void setVorname(String surname) {
this.surname = surname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
Tabellenklasse;
private final SimpleIntegerProperty rID;
private final SimpleStringProperty rName;;
private final SimpleStringProperty rDate;
private final SimpleIntegerProperty rPrice;
Table1 t1 = new Table1("just", "testing");
public Table(Table1 t1, int sID, String sName, String sDate, Integer sPrice) {
this.rID = new SimpleIntegerProperty(sID);
this.rName = new SimpleStringProperty(sName);
this.rDate = new SimpleStringProperty(sDate);
this.rPrice = new SimpleIntegerProperty(sPrice);
}
public Integer getRID() {
return rID.get();
}
public void setRID(Integer v) {
rID.set(v);
}
public String getRName() {
return rName.get();
}
public void setRName(String v) {
rName.set(v);
}
public String getRData(){
return rDate.get();
}
public void setRDate(String v){
rDate.set(v);
}
public Integer getRPrice(){
return rPrice.get();
}
public void setRNPrice(Integer v){
rPrice.set(v);
}
Danke für jede Hilfe!
hmm ... Danke für deine Antwort, aber ich kann die benötigten Informationen nicht über diesen Link erhalten. Mein Problem ist, dass das zweite Objekt überhaupt nicht in der Tabellenansicht erscheint ... – DonJohn
Können Sie den Rest des Codes zeigen? –
Thx, Code zu meinem Beitrag hinzugefügt! – DonJohn