Hallo
ich sehe den Wald vor lauter Bäumen nicht.
Ich habe ein Dialog mit einem JTable, welches der Nutzer befüllen soll.
Und mit Klick auf Ok sollen dann die Daten übernommen und der Dialog geschlossen werden.
Hab das nun zig mal getestet funktioniert bei mir fehlerfrei.
Bei einem Kollegen wird beim Klick auf OK das JTable und alles Weiteren Felder gelöscht und Dialog bleibt erhalten. Dies passiert sagen wir mal bei jeden 3. Mal
Nun stell ich mir die Frage wieso der Fehler auftritt und wie ich Ihnen beseitigen kann.???:L
Ich bin für jeden Rat dankbar
ich sehe den Wald vor lauter Bäumen nicht.
Ich habe ein Dialog mit einem JTable, welches der Nutzer befüllen soll.
Und mit Klick auf Ok sollen dann die Daten übernommen und der Dialog geschlossen werden.
Hab das nun zig mal getestet funktioniert bei mir fehlerfrei.
Bei einem Kollegen wird beim Klick auf OK das JTable und alles Weiteren Felder gelöscht und Dialog bleibt erhalten. Dies passiert sagen wir mal bei jeden 3. Mal
Java:
package nutzerschnittstelle;
public class GebDialog extends JDialog {
GebDialog gebdia = this;
JTextField aktenTxt = new JTextField();
JComboBox grundCombo = new JComboBox();
JTable gebTab = new JTable();
JButton endeBtn = new JButton("Abbruch");
JButton okBtn = new JButton("OK");
JButton ladenBtn = new JButton("Laden");
Hauptfenster hauptfenster;
HashMap<String, Gebaeude> geb = new HashMap<String, Gebaeude>();
DefaultTableModel model;
/**
*Dialogoberfläche wird erstellt.
*/
private void initComponents() {
// aus Platzgründen entfernt
}
public class OkListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (hauptfenster.xmlField.getText().equals("")
&& aktenTxt.getText().equals(""))
JOptionPane.showMessageDialog(gebdia,
"Bitte geben Sie das Aktenzeichen an ",
"Fehlerhafte Angaben", JOptionPane.INFORMATION_MESSAGE);
// aktuallisiert Tabelle (falls letzte Eingabe nicht mit enter
// abgeschlossen ist )
else {
TableCellEditor tce = null;
if (gebTab.isEditing()) {
tce = gebTab.getCellEditor();
}
if (tce != null) {
tce.stopCellEditing();
}
Bearbeiter bearbeiter = new Bearbeiter();
if (hauptfenster.xmlField.getText().equals("")) {
bearbeiter.setAktenzeichen(aktenTxt.getText());
bearbeiter.setEmail((String) hauptfenster.getProperties()
.get("E-Mail"));
bearbeiter
.setGrund((String) (grundCombo.getSelectedItem()));
bearbeiter.setName((String) hauptfenster.getProperties()
.get("Name"));
bearbeiter.setTel((String) hauptfenster.getProperties()
.get("Tel"));
}
// Tabelle wird solang ausgewertet bis eine Zeile komplett leer
// ist
int zeile = 0;
boolean fehler = false;
String fehlerzeileString = "";
// Auswertung der einzelnen Zellen
while (zeile < model.getRowCount()
&& !(gebTab.getValueAt(zeile, 0).equals(""))
|| !(gebTab.getValueAt(zeile, 1).equals(""))
|| !(gebTab.getValueAt(zeile, 2).equals(""))
|| !(gebTab.getValueAt(zeile, 3).equals(""))
|| !(gebTab.getValueAt(zeile, 4).equals(""))
|| !(gebTab.getValueAt(zeile, 5).equals(""))
|| !(gebTab.getValueAt(zeile, 6).equals(""))
|| !(gebTab.getValueAt(zeile, 7).equals(""))
|| !(gebTab.getValueAt(zeile, 8).equals(""))
|| !(gebTab.getValueAt(zeile, 9).equals(""))) {
String aka = (String) gebTab.getValueAt(zeile, 0);
String name = (String) gebTab.getValueAt(zeile, 2);
if ((String) gebTab.getValueAt(zeile, 1) != null)
name = (String) gebTab.getValueAt(zeile, 1) + " "
+ (String) gebTab.getValueAt(zeile, 2);
if (!(aka != null))
name = aka + " " + name;
String str = (String) gebTab.getValueAt(zeile, 3) + " "
+ (String) gebTab.getValueAt(zeile, 4);
String ort = (String) gebTab.getValueAt(zeile, 5) + " "
+ (String) gebTab.getValueAt(zeile, 6);
String gmk = (String) gebTab.getValueAt(zeile, 7);
String gemarkungsName = (String) gebTab
.getValueAt(zeile, 8);
String flst = (String) gebTab.getValueAt(zeile, 9);
if (name.equals("") || str.equals("") || ort.equals("")
|| gmk.equals("") || gemarkungsName.equals("")
|| flst.equals("")) {
int fehlerZeileInt = zeile;
fehlerZeileInt++;
if (fehlerzeileString == "")
fehlerzeileString = String.valueOf(fehlerZeileInt);
else
fehlerzeileString = fehlerzeileString + " und "
+ String.valueOf(fehlerZeileInt);
fehler = true;
} else {
// Überprüft ob Eigentümer bereits vorhanden ist
Gebaeude gebCheck = geb.get(name);
if (gebCheck == null) {
HashMap<String, Gemarkung> gmkMap = new HashMap<String, Gemarkung>();
Gemarkung gemarkung = new Gemarkung(gmk,
gemarkungsName, flst);
gmkMap.put(gmk, gemarkung);
Gebaeude gebaeude = new Gebaeude(name, str, ort,
gmkMap, false, bearbeiter);
geb.put(name, gebaeude);
} else {
// überprüfen ob Anschrift übereinstimmt
if (!((gebCheck.getStr() + gebCheck.getOrt())
.equals(str + ort))) {
DoppelteAnschrift doppelt = new DoppelteAnschrift(
hauptfenster, true,
(gebCheck.getStr() + " "
+ gebCheck.getOrt() + " "),
(str + " " + ort + " "), name);
int btn = doppelt.getGroup();
if (btn == 1) {
str = gebCheck.getStr();
ort = gebCheck.getOrt();
}
}
HashMap<String, Gemarkung> gmkMap = gebCheck
.getGemarkung();
// Prüfen ob unter dem Beteiligten schon die
// Gemarkung vorhanden ist
// wenn nicht wird sie neu angelegt incl flst
boolean flstMz = false;
if (gmkMap.get(gmk) == null) {
flstMz = (true);
Gemarkung gemark = new Gemarkung(gmk,
gemarkungsName, flst);
gmkMap.put(gmk, gemark);
} else {
// es wird geprüft ob flst schon zu der
// Gemarkung
// exestiert wenn nicht wird es angelegt
Gemarkung gemark = gmkMap.get(gmk);
String flurstk = gemark.getFlst();
StringTokenizer tokenizer = new StringTokenizer(
flurstk, ",");
boolean flstExist = false;
while ((tokenizer.hasMoreTokens())
&& flstExist == false) {
// flst bereits vorhanden
if ((tokenizer.nextToken())
.replace(" ", "").equals(flst)) {
flstExist = true;
}
}
// flst noch nicht vorhanden
if (flstExist == false) {
flstMz = true;
gemark.setFlst(flurstk + ", " + flst);
gmkMap.remove(gmk);
gmkMap.put(gmk, gemark);
}
}
Gebaeude gebaeude = new Gebaeude(name, str, ort,
gmkMap, flstMz, bearbeiter);
geb.remove(name);
geb.put(name, gebaeude);
}
}
zeile++;
}
if (fehler == false) {
hauptfenster.setGeb(geb);
hauptfenster.setGebCheck(true);
setVisible(false);
dispose();
} else
JOptionPane.showMessageDialog(gebdia,
"Bitte überprüfen Sie die Zeile "
+ fehlerzeileString
+ " und ergänzen Sie die Pflichtelemente",
"Fehlerhafte Angaben",
JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
Nun stell ich mir die Frage wieso der Fehler auftritt und wie ich Ihnen beseitigen kann.???:L
Ich bin für jeden Rat dankbar