Hallo,
ich habe eine JTable und möchte dort mehrere Daten aus TextFeldern reinschreiben.
Das ganze sollte mit einem DefaultTableModel geschehen.
Bisher sieht mein Code wie folgt aus:
Die Methode soll beim Klicken auf einen Button ausgeführt werden.
Dies ist der ActionListener:
Die wichtigen Methoden von Defect sehen wie folgt aus:
Leider bekomme ich das nicht hin, dass die Daten in den Textfeldern in die JTable geschrieben werden.
Kann mir da evtl. jemand weiterhelfen?
Vg,
Martin
ich habe eine JTable und möchte dort mehrere Daten aus TextFeldern reinschreiben.
Das ganze sollte mit einem DefaultTableModel geschehen.
Bisher sieht mein Code wie folgt aus:
Code:
public void loadDefectList() {
Defect d = new Defect();
Object[] columnNames = {"lfd.Nr","Mangelnummer","Betriebsbereich","Gebäude","Raum/Anlage", "Ort","Beschreibung","Anzahl"};
Object[] emptyRow = {"f","f","Kein Mangel bisher vorhanden","f","f", "f","f"};
ArrayList<Defect> defectlist = new ArrayList<Defect>();
defectlist = d.LoadDefectList();
boolean defectListEmpty = defectlist.isEmpty();
model.setRowCount(0);
Object[][] dataVektor = new Object[defectlist.size()][model.getColumnCount()];
if(defectListEmpty) {
model.addRow(emptyRow);
} else {
for(int i=0; i<defectlist.size(); i++) {
dataVektor[i][0] = i+1;
dataVektor[i][1] = ((Defect)defectlist.get(i)).getId();
dataVektor[i][2] = ((Defect)defectlist.get(i)).getOperatingRange();
dataVektor[i][3] = ((Defect)defectlist.get(i)).getBuilding();
dataVektor[i][4] = ((Defect)defectlist.get(i)).getRoom();
dataVektor[i][5] = ((Defect)defectlist.get(i)).getPlace();
dataVektor[i][6] = ((Defect)defectlist.get(i)).getText();
dataVektor[i][7] = ((Defect)defectlist.get(i)).getCount();
}
model.setDataVector(dataVektor, columnNames);
}
}
Die Methode soll beim Klicken auf einen Button ausgeführt werden.
Dies ist der ActionListener:
Code:
JButton btnEingabenbernehmen = new JButton("Eingaben \u00DCbernehmen");
btnEingabenbernehmen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Defect d = new Defect();
int id = Integer.parseInt(textField_1.getText());
int operatingRange = Integer.parseInt(textField_2.getText());
String building = textField_3.getText();
String room = textField_4.getText();
String place = textField_5.getText();
String text = tfDescription.getText();
int count = Integer.parseInt(textField_6.getText());
d.addDefect(id, operatingRange, building, room, place, text, count);
}
});
Die wichtigen Methoden von Defect sehen wie folgt aus:
Code:
public void addDefect(int id, int operatingRange, String building, String room, String place, String text, int count ) {
this.id = id;
this.operatingRange = operatingRange;
this.building = building;
this.room = room;
this.place = place;
this.text = text;
this.count = count;
test.add(this); // speichern in ArrayList test
}
public ArrayList<Defect> LoadDefectList() {
return test;
}
Leider bekomme ich das nicht hin, dass die Daten in den Textfeldern in die JTable geschrieben werden.
Kann mir da evtl. jemand weiterhelfen?
Vg,
Martin