Swing MainWindow(JFrame) aktualisieren(neuzeichnen) repaint

Nina90

Mitglied
Hallo liebe Java-Communitiy,

Es gibt schon einige Beiträge zum Thema neuzeichnen(repaint, revaildate usw) aber bisher hat mir das durchlesen der zahlreichen Beiträge nicht weitergeholfen deswegen versuche ich es mit einem eigenen Beitrag. 🙂

Ich habe ein Hauptfenster MainWindow als JFrame mit einer JToolbar als Menüersatz und da drunter mehrere horizontale JTabbedPanes in denen JTables dargestellt werden.

Zum Programmstart sollen die JTabbedPanes leer sein und je nachdem welcher Menüpunkt dann ausgewählt wurde die JTables mit Werten gefüllten werden und in den JTabbedPanes angezeigt werden.

Wie geht man da am besten vor? Das ganze JFrame neu zeichnen oder nur die JTabbedPanes mit der übergebenen JTable?

Falls nötig ist kann ich auch den bisherigen Code posten, der jedoch ein wenig umfangreich ist.

Über einen Tipp oder konkreten Hinweis wäre ich sehr dankbar.

Eure Nina
 
Wird das Layout von Komponenten zur Laufzeit geändert, muss auf diesen ein validate() aufgerufen werden.
Ich würde aber die ganzen Komponenten vorab schon befüllen. Die JTables kann man ja bei Bedarf leer lassen und erst wenn das jeweile Tab ausgewählt wird mit Daten befüllten. Bei sauberer Implementierung ist dabei kein repaint(), validate()... notwendig.
 
Hallo Michael...
Vielen Dank für deine Antwort.
Ich würde aber die ganzen Komponenten vorab schon befüllen.
Die Komponenten kann ich doch erst befüllen wenn ich weiß was im Menü ausgewählt wurde.
Oder meinst du ich soll beim Programmstart in den JTabbedPanes schonmal leere JTables anlegen und dann je nach Menüauswahl den Inhalt dynamisch füllen?
 
Naja eigentlich wollte ich nur per FileChooser eine Datenbank auswählen lassen aus der dann die Werte in den JTables angezeigt werden(verteilt auf verschieden JTabbedPanes).

Aaaah das DefaultTableModel erzeugt die Table ja dynamisch, das heißt wenn ich beim Programmstart leere Tables habe und dann nach Benutzerauswahl die Tables fülle müßten sie ja automatisch neu gezeichnet werden und ich brauche somit kein repaint oder revalidate usw.

Das werd ich gleich mal ausprobieren. 🙂
 

Neue Themen


Zurück
Oben