hallo, habe eine komponente die ich gerne waerend der laufzeit neu laden moechte, das neuladen funktioniert auch soweit, aber die werde werden nicht neu geholt. hier mal ein paar codeschnipsel zum besseren verstaendniss:
diese tabelle soll neu gezeichnet werden. die inhalte holt sich die tabelle aus Helpers.settable()
der befehl zum neuzeichnen der tabelle kommt nach eingabe und schreiben neuer werte in die xmlfile die in XmlData gelesen wird.
die xmlfiele wird auch am ende des folgendem codeschnipsels erfolgreich geschrieben
nach meinem verstaendiss also wird im letzten code
1. alle daten meiner maske in data geschrieben
2. die data wird mit hilfe von Helpers.saveEntry(data) in die xmlfile geschrieben
3. die tabelle wird neu gezeichnet ( hierbei gelangt die tabelle wieder an die stelle Helpers.settable() und liest das geaenderte xml)
leider macht sie das nicht, sondern zeigt also nur was schon vorher dastand.
brauche glaub ich sowas wie n reloadModel() gibt es aba leider nich
kann mir jemand helfen? wo ist mein fehler?
thx
Code:
//lizenzverwaltungView.java
ContentTable = new javax.swing.JTable();
ContentTable.setModel(new javax.swing.table.DefaultTableModel(
Helpers.settable(),
new String [] {
"lfd.Nr.","LizenzName","LizenzTyp" , "Oracle CSI", "Einheiten", "Einheitentyp", "Preis in €", "Erwerb", "Ablauf", "Support seit", "Support bis", "Supportkosten in €", "Fälligkeit", "Fälligkeitsintervall", "Bemerkungen"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false, false, false, false, false, false, false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
diese tabelle soll neu gezeichnet werden. die inhalte holt sich die tabelle aus Helpers.settable()
Code:
//Helpers.java
public static String[][] settable(){
XmlData dummy = new XmlData();
int max = dummy.myData.size();
int i = 0;
String comp1 = "1";
String comp2 = "0";
String compX = "x";
for (data dummy2 : dummy.myData){
if (dummy2.getDeleteFlag().equals(comp1)) {
max--;
}
}
String[][] field = new String[max][15];
for (data dummy2 : dummy.myData) {
if (dummy2.getDeleteFlag().equals(comp2)) {
field[i][0] = dummy2.getindex();
..................
return field;
}
der befehl zum neuzeichnen der tabelle kommt nach eingabe und schreiben neuer werte in die xmlfile die in XmlData gelesen wird.
die xmlfiele wird auch am ende des folgendem codeschnipsels erfolgreich geschrieben
Code:
//InsertLizenz.java
public void insert() {
String[] data = getarray();
Helpers.saveEntry(data);
LizenzverwaltungView.ContentTable.repaint();
setVisible(false);
}
nach meinem verstaendiss also wird im letzten code
1. alle daten meiner maske in data geschrieben
2. die data wird mit hilfe von Helpers.saveEntry(data) in die xmlfile geschrieben
3. die tabelle wird neu gezeichnet ( hierbei gelangt die tabelle wieder an die stelle Helpers.settable() und liest das geaenderte xml)
leider macht sie das nicht, sondern zeigt also nur was schon vorher dastand.
brauche glaub ich sowas wie n reloadModel() gibt es aba leider nich
kann mir jemand helfen? wo ist mein fehler?
thx