Hallo,
ich habe ein Programm samt Client-Server-Architektur gebastelt. Der Server verfügt als eine Übersicht aller Clients über eine Tabelle (JTable) in welcher ich diverse Zustände der Clients und spezielle Werte, welche sich während des Programmablaufes ergeben darstelle.
Diese Tabelle füllt sich also automatisch mit Informationen von den Clients. Es ist nicht nötig die Zellen manuell zu editieren. Die Werte werden automatisch vom Backend des Servers per Event-Handling an das TableModel gegeben. Nun kann es passieren das ich schnell nacheinander mehrere Events an das Model schicke, wobei die Events 100% verschiedene Zellen adressieren.
Wenn wir mal von 2 aufeinanderfolgenden Events ausgehen, kann es nun passieren, dass in der Tabelle in 2 verschiedenen Zellen, das gleiche Event-Objekt steht (ein String in dem Fall). Laut Code ist das unmöglich! Die betreffenden Zellen sind auch korrekt, heisst es sind genau die Zellen, welche durch die 2 Events angesprochen wurden. Jedoch füllt sich die 2. Zelle zunächst mit dem Inhalt, welcher von dem 1. Event kommt. Wenn ich den JFrame der Serveransicht entweder resize oder sogar nur mal am Rand anklicke ohne die Größe zu verändern, so wird instant der korrekte Eintrag in der Tabelle angezeigt. Sprich, wenn sie wohl komplett neu gezeichnet werden muss.
Woher kann dieser Fehler rühren?
Kurzfassung:
**********
2 Events werden kurz nacheinander mit unterschiedlichen Ziel an Zellen und unterschiedlichem Inhalt an das TableModel geschickt. Im ersten moment kann es passieren, das beide Zellen den Inhalt des ersten Events anzeigen. Wird der JFrame resized, und somit die Tabelle, so wird auch der korrekte Inhalt des längst verarbeiteten 2. Events in der Tabelle angezeigt.
ich habe ein Programm samt Client-Server-Architektur gebastelt. Der Server verfügt als eine Übersicht aller Clients über eine Tabelle (JTable) in welcher ich diverse Zustände der Clients und spezielle Werte, welche sich während des Programmablaufes ergeben darstelle.
Diese Tabelle füllt sich also automatisch mit Informationen von den Clients. Es ist nicht nötig die Zellen manuell zu editieren. Die Werte werden automatisch vom Backend des Servers per Event-Handling an das TableModel gegeben. Nun kann es passieren das ich schnell nacheinander mehrere Events an das Model schicke, wobei die Events 100% verschiedene Zellen adressieren.
Wenn wir mal von 2 aufeinanderfolgenden Events ausgehen, kann es nun passieren, dass in der Tabelle in 2 verschiedenen Zellen, das gleiche Event-Objekt steht (ein String in dem Fall). Laut Code ist das unmöglich! Die betreffenden Zellen sind auch korrekt, heisst es sind genau die Zellen, welche durch die 2 Events angesprochen wurden. Jedoch füllt sich die 2. Zelle zunächst mit dem Inhalt, welcher von dem 1. Event kommt. Wenn ich den JFrame der Serveransicht entweder resize oder sogar nur mal am Rand anklicke ohne die Größe zu verändern, so wird instant der korrekte Eintrag in der Tabelle angezeigt. Sprich, wenn sie wohl komplett neu gezeichnet werden muss.
Woher kann dieser Fehler rühren?
Kurzfassung:
**********
2 Events werden kurz nacheinander mit unterschiedlichen Ziel an Zellen und unterschiedlichem Inhalt an das TableModel geschickt. Im ersten moment kann es passieren, das beide Zellen den Inhalt des ersten Events anzeigen. Wird der JFrame resized, und somit die Tabelle, so wird auch der korrekte Inhalt des längst verarbeiteten 2. Events in der Tabelle angezeigt.