Aktualisieren einer Liste von einem entfernten Objekt aus.

Status
Nicht offen für weitere Antworten.
F

Flow25

Gast
Hallo zusammen,

in einem JDialog habe ich eine Liste mit Usern. Sobald ich einen neuen User in einem anderen JDialog angelegt habe, möchte ich die Änderung in der Liste sofort sehen und nicht erst wenn der JDialog neu geöfnet wurde.

Mit invalidate() und validate() würde das natürlich gehen. Mein Problem ist nun, dass ich irgendwie auf das entferne Objekt der Liste zugreifen muss.
Mein Programm ist folgendermaßen aufgebaut:

Klasse Hauptfenster bildet Objekt von --> Klasse Userliste. Diese bildet Objekt von --> Klasse Usertabelle. Bei Doppelklick auf Zeile bildet Objekt von --> Klasse EigenDaten. Hier wird ein neuer User erstellt.

Die Klasse Userliste ist vom Typ JDialog und bildet ein Objekt von Usertabelle, welche vom Typ JTable ist und die Tabelle im JDialog Userliste darstellt.
Nun muss ich bei einem Klick auf OK in EigeneDaten irgendwie die Usertabelle ansprechen, die in Userliste instanziiert wurde und Sie validieren.

Weis jemand wie das geht??

Gruß Flow25
 

Manfred

Bekanntes Mitglied
Also ich würde so sagen:

Diese Klasse, welche auf das Objekt zugreifen soll, muss ein Attribut von dieser entfernten Klasse haben.
Im Konstruktor wird dieses Objekt übergeben und dann diesem Attribut zugewiesen, bzw. erst später mit einer Set-Methode gesetzt.
Dann kannst du dieses Objekt dort verwenden!

z.B.
Code:
private class Dialogklasse
{
    private Liste entfernteListe;

    public Dialogklasse(Liste entfernteListe)
    {
        this.entfernteListe = entfernteListe;
    }
     
    public void irgendeineMethode()
    {
        entfernteListe.validate();
     }

    public void setEntfernteListe(Liste entfernteListe)
    {
        this.entfernteListe = entfernteListe;
    }
}
 
B

Beni

Gast
Das hört sich so an, als ob du ein eigenes TableModel verwendest. Falls ja: du musst all die registrierten TableModelListenern benachrichtigen, wenn sich ein Teil des Models verändert hat (z.B. ein User entfernt wurde).

Hm, guck mal in der FAQ nach, da steht mehr dazu (unten).
 
F

Flow25

Gast
So ich habs jetzt mal folgendermaßen versucht:

Da man die Tabelle selbst invalidieren und den Container der die Tabelle enthält validieren soll, musste ich zuerst einmal den JPanel in Userliste herausfinden, der die Tabelle enthält. Das ging mit:

pFrame.getContentPane().getComponent(2).validate();

Dabei ist pFrame der übergebene ParentFrame (in diesem Fall Userliste) an den JDialog EigeneDaten.
Dann habe ich dem Konstruktor von EigeneDaten die Tabelle selbst übergeben und diese mit

tabelle.invalidate();

invalidiert. Die Reihenfolge ist natürlich folgende:

tabelle.invalidate();
pFrame.getContentPane().getComponent(2).validate();

Leider fruchtet die Mühe nicht. Denn die Liste wird immernoch nicht aktualisiert.

Bitte helft mir!

Gruß Flow25
 
F

Flow25

Gast
Hab jetzt mal ausprobiert einen Aktualisieren-Button in dem JDialog Userliste direkt zu plazieren und selbst hier wo die Tabelle instanziiert wird und sie sich befindet funktioniert

tabelleUser.invalidate();
tabellenPanel.validate();

nicht! Das heißt das ist ein grundsätzliches Problem. In einem anderen Projekt habe ich das Ganze aber genauso gemacht und die Aktualisierung funktionierte.

Was muss man denn vielleicht beim Aufbau der Tabelle beachten? Oder muss man irgendwas importieren?

Gruß Flow25
 
F

Flow25

Gast
Sorry aber das was er schreibt hilft mir nunmal nicht weiter. Ich benutze kein eigenes TableModel
und außerdem habe ich wie gesagt in einem anderen Projekt genauso eine Aktualisierung hinbekommen.
Habe alles abgeglichen aber mir fällt kein Unterschied auf.

Ich frage mich nur, woran es dann liegt?
 
B

Beni

Gast
Flow25 hat gesagt.:
Sorry aber das was er schreibt hilft mir nunmal nicht weiter. Ich benutze kein eigenes TableModel...
Na dann sag das doch :!:

Was benutzt du dann? Denn eine JTable hat immer ein TableModel (vielleicht ist es ein bisschen versteckt).

(P.S. und mit einem TableModel ist alles viel einfacher, "validate" ist definitiv nicht für das Updaten von Tabellen gedacht :wink:).
 
F

Flow25

Gast
Sorry Beni, war auch nicht böse gemeint, bin wirklich für jede Hilfe dankbar!
Also ich habe in meinem anderen Projekt auch nix mit dem TableModel gemacht. Aber gut ich glaube dir.
Wie kann ich das Ganze denn mit dem TableModel realisieren?
 
B

Beni

Gast
Am einfachsten wird das DefaultTableModel sein: das verhält sich wie eine Liste:

Code:
JTable table = ...
String[] titles = {"Name", "Vorname", "Status"};
DefaultTableModel model = new DefaultTableModel( titles, 0 );
table.setModel( model );

// und ab jetzt kannst du jederzeit einfügen...
String[] user = {"25", "Flow", "lesend"};
model.addRow( user );

// ... oder entfernen
model.remove( 123 ); // den 123'ten Benutzer

// Die Tabelle "table" passt sich automatisch an das Model an.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Aktuelle Zeit in einer JavaFX Anwendung aktualisieren lassen Java Basics - Anfänger-Themen 4
M Variable aus einer anderen Klasse aktualisieren Java Basics - Anfänger-Themen 2
F Aktualisieren einer einzelnen Zelle in JTable Java Basics - Anfänger-Themen 2
J Progressbar aktualisieren Java Basics - Anfänger-Themen 17
C Timer aktualisieren Java Basics - Anfänger-Themen 5
TimoN11 Array mit unterschiedlichen längen aktualisieren, dann als Methodenwert einsetzen Java Basics - Anfänger-Themen 1
J Java FX - Label aktualisieren Java Basics - Anfänger-Themen 1
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
A Input/Output System.out Ausgabe aktualisieren, ohne Konsole vollzuspamen Java Basics - Anfänger-Themen 2
P WindowBuilder aktualisieren Java Basics - Anfänger-Themen 0
L Threads Laufbild Erzeugen Problem mit Aktualisieren des JPanels Java Basics - Anfänger-Themen 2
F Problem bei ImageIcon aktualisieren Java Basics - Anfänger-Themen 5
MrSnake Tabelleninhalt aktualisieren Java Basics - Anfänger-Themen 12
R Programm aktualisieren/refreshen Java Basics - Anfänger-Themen 7
2 Uhrzeit und Datum aktualisieren Java Basics - Anfänger-Themen 12
M Methoden Methoden aktualisieren Java Basics - Anfänger-Themen 2
M Liste mit repaint aktualisieren Java Basics - Anfänger-Themen 1
B Erste Schritte Anzeige von Graphics Objekten einzeln aktualisieren Java Basics - Anfänger-Themen 1
G Input/Output Webseite Cache-Control: max-age=3 Öfters Aktualisieren? Java Basics - Anfänger-Themen 1
J Bilder in Labels aktualisieren Java Basics - Anfänger-Themen 2
G Seite aktualisieren Java Basics - Anfänger-Themen 1
O JList aktualisieren während Dateieinlesung Java Basics - Anfänger-Themen 4
W Erste Schritte Timer soll jede Sekunde Label aktualisieren Java Basics - Anfänger-Themen 5
S Erste Schritte Gui aktualisieren Java Basics - Anfänger-Themen 5
V JFrame aktualisieren Java Basics - Anfänger-Themen 6
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
D JTable aktualisieren Java Basics - Anfänger-Themen 2
J Variablen Aktualisieren von Instanzvariablen Java Basics - Anfänger-Themen 14
J repaint() geht gar nicht; GUI aktualisieren Java Basics - Anfänger-Themen 10
Q Zeitanzeige aktualisieren Java Basics - Anfänger-Themen 7
J Jtable änderung soll graphics aktualisieren Java Basics - Anfänger-Themen 4
R Threads GUI über Hintergrund-Thread aktualisieren Java Basics - Anfänger-Themen 6
F GUI JTextField aktualisieren Java Basics - Anfänger-Themen 3
L Zeit sekündlich aktualisieren Java Basics - Anfänger-Themen 7
J JLabels in Panel Aktualisieren Java Basics - Anfänger-Themen 5
E JList GUI aktualisieren? Java Basics - Anfänger-Themen 3
L Client aktualisieren Java Basics - Anfänger-Themen 6
Ollek ArrayList nach Datenbankeintrag aktualisieren Java Basics - Anfänger-Themen 4
U jTable aktualisieren Java Basics - Anfänger-Themen 5
B PacMan: Panel aktualisieren Java Basics - Anfänger-Themen 2
Dit_ Aktualisieren von mehreren Views Java Basics - Anfänger-Themen 2
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
J JTable aktualisieren wenn TableModel sich ändert Java Basics - Anfänger-Themen 6
F contentPane aktualisieren Java Basics - Anfänger-Themen 2
L JList Aktualisieren funktioniert nur Zufällig Java Basics - Anfänger-Themen 3
B JApplet aktualisieren Java Basics - Anfänger-Themen 2
N Aktualisieren JTable Java Basics - Anfänger-Themen 2
T JList aktualisieren Java Basics - Anfänger-Themen 12
T GUI aktualisieren Java Basics - Anfänger-Themen 6
C GUI aktualisieren: repaint, validate, Fenstergröße ändern bringt nichts Java Basics - Anfänger-Themen 13
C jframe bzw. jpanel aktualisieren Java Basics - Anfänger-Themen 13
E Textfeld aktualisieren Java Basics - Anfänger-Themen 3
P Textarea aktualisieren, Referenz fehlt Java Basics - Anfänger-Themen 4
G fenster aktualisieren Java Basics - Anfänger-Themen 2
Antoras Applet aktualisieren Java Basics - Anfänger-Themen 2
M Ausgabe aktualisieren/ Stoppuhr Java Basics - Anfänger-Themen 4
S Jpanel aktualisieren Java Basics - Anfänger-Themen 9
S JTable aktualisieren (nach Datenbank updade) Java Basics - Anfänger-Themen 14
S JTree aktualisieren Java Basics - Anfänger-Themen 4
M JTree aktualisieren Java Basics - Anfänger-Themen 3
K Datum mittels Thread aktualisieren Java Basics - Anfänger-Themen 6
G Bild aktualisieren Problem! Java Basics - Anfänger-Themen 2
G Liste in mehreren unabhängigen Frames aktualisieren. Java Basics - Anfänger-Themen 6
H Textarea aktualisieren Java Basics - Anfänger-Themen 2
V Menüeinträge und ähnliches aktualisieren (aus properties) Java Basics - Anfänger-Themen 10
M Aktualisieren eines JTables funktioniert nicht Java Basics - Anfänger-Themen 6
K Chart zur Laufzeit erstellen und aktualisieren Java Basics - Anfänger-Themen 2
M jTable aktualisieren Java Basics - Anfänger-Themen 5
H JTable richtig aktualisieren Java Basics - Anfänger-Themen 4
J schleife unterbrechen JTextArea aktualisieren Java Basics - Anfänger-Themen 8
W Kurse übers Internet aktualisieren Java Basics - Anfänger-Themen 6
G mehrere Frames nacheinander aktualisieren Java Basics - Anfänger-Themen 2
B JTable Werte aktualisieren Java Basics - Anfänger-Themen 2
G JList - aktualisieren Java Basics - Anfänger-Themen 6
S JTree aktualisieren bzw. komplett neu aufbauen Java Basics - Anfänger-Themen 6
F Gebasteltet Fortschrittsanzeige: Aktualisieren Labels? Java Basics - Anfänger-Themen 4
M JList Datenstring erweitern und JList aktualisieren Java Basics - Anfänger-Themen 5
D Applet im IE aktualisieren Java Basics - Anfänger-Themen 6
G JTable aktualisieren Java Basics - Anfänger-Themen 15
B GUI aktualisieren Java Basics - Anfänger-Themen 6
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben