Hallo zusammen,
Ich habe ein kleines Problem mit Javafx 8, bei dem ich einfach nicht weiterkomme...
Und zwar wähle ich mittels Comboboxen Früchte und deren Anzahl aus. Diese werden dann in eine Tabelle geschrieben.
Bspw. so
Apfel 5
Birnen 3
Apfel 2
Bananen 1
Ich möchte das Total pro Frucht in eine separate Tabelle schreiben. Das Einschreiben der Frucht in die andere / neue Tabelle habe ich mal. Das zusammenzählen der Werte klappt aber leider nicht. :shock: Kann mir da jemand evtl. helfen?
Vielen Dank
Aufbau meines Codes:
DataClass
FruitClass
Ich habe ein kleines Problem mit Javafx 8, bei dem ich einfach nicht weiterkomme...
Und zwar wähle ich mittels Comboboxen Früchte und deren Anzahl aus. Diese werden dann in eine Tabelle geschrieben.
Bspw. so
Apfel 5
Birnen 3
Apfel 2
Bananen 1
Ich möchte das Total pro Frucht in eine separate Tabelle schreiben. Das Einschreiben der Frucht in die andere / neue Tabelle habe ich mal. Das zusammenzählen der Werte klappt aber leider nicht. :shock: Kann mir da jemand evtl. helfen?
Vielen Dank
Aufbau meines Codes:
Java:
public class Fruits implements Initializable {
// Tabellen und Spalten
@FXML TableView<DataClass> fruitlist;
@FXML TableColumn<DataClass, String> fruits;
@FXML TableColumn<DataClass, Integer> qty;
@FXML TableView<FruitClass> früchteliste;
@FXML TableColumn<FruitClass, String> früchteSpalte;
@FXML TableColumn<FruitClass, Integer> früchteAnzahl;
// Button und Combobox
@FXML Button addfruit;
@FXML ComboBox<Integer> qty_combobox;
@FXML ComboBox<String> fruits_combolist;
// ObservableList
ObservableList<DataClass> data;
ObservableList<FruitClass> fruchtliste;
@Override
public void initialize(URL url, ResourceBundle rb) {
fruits.setCellValueFactory(new PropertyValueFactory<DataClass,String>("rfruits"));
früchteSpalte.setCellValueFactory(new PropertyValueFactory<FruitClass, String>("rfrüchte"));
früchteAnzahl.setCellValueFactory(new PropertyValueFactory<FruitClass, Integer>("rfrüchteanzahl"));
qty.setCellValueFactory(new PropertyValueFactory<DataClass, Integer>("rqty"));
data = FXCollections.observableArrayList();
fruchtliste = FXCollections.observableArrayList();
fruitlist.setItems(data);
früchteliste.setItems(fruchtliste);
// Setzen der Combobox Werte
qty_combobox.getItems().clear();
qty_combobox.getItems().addAll(0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,30);
fruits_combolist.getItems().clear();
fruits_combolist.getItems().addAll("Apfel","Birnen","Bananen");
}
// Event bei ButtonKlick
@FXML
private void handleButtonAction(ActionEvent event) {
DataClass fruitline = new DataClass();
fruitline.fruitdata.setValue(fruits_combolist.getValue());
fruitline.qtydata.setValue(qty_combobox.getValue());
data.add(fruitline);
neueFruchtinListe();
}
// Setzen der Frucht in Liste
private String neueFruchtinListe() {
String frucht = null;
int n = 0;
for(int i = 0; i < fruchtliste.size(); i++) {
if(früchteSpalte.getCellData(i).equals(fruits_combolist.getValue())) {
n = n+1;
}
else {
n = n+0;
}
}
if(n<1) {
frucht = fruits_combolist.getValue();
FruitClass neueFrucht = new FruitClass();
neueFrucht.fruitdata.setValue(frucht);
fruchtliste.add(neueFrucht);
}
return frucht;
}
}
DataClass
Java:
public class DataClass {
public SimpleStringProperty fruitdata = new SimpleStringProperty();
public SimpleIntegerProperty qtydata = new SimpleIntegerProperty();
public Integer getRqty() {
return qtydata.get();
}
public String getRfruits() {
return fruitdata.get();
}
}
FruitClass
Java:
public class FruitClass {
public SimpleStringProperty fruitdata = new SimpleStringProperty();
public SimpleIntegerProperty fruitcount = new SimpleIntegerProperty();
public String getRfrüchte() {
return fruitdata.get();
}
public Integer getRfrüchteanzahl() {
return fruitcount.get();
}
}