![]() |
JTable Aktualisierung ?
Ich schaff es nicht meine JTable zu aktualisieren.
Sie wird beim Start gefüllt und während der Laufzeit ändert sich der Inhalt der Hashmap, aber ich schaffe es nicht den Inhalt der JTable zu aktualisieren. Bei der JTable kann sich die Zeilenanzahl verändern, die Spaltenanzahl bleibt immer gleich. Ich möchte, dass sich die JTable komplett neu füllt und nicht nur Zeilen löscht oder hinzufügt. Code:
import java.awt.*; Frankster |
Re: JTable Aktualisierung ?
Zitat:
Du musst dann allerdings auch dafür sorgen das die neue Tabelle auch angezeigt wird (z.B. in einer JScrollPane sp mit sp.getViewport().add(myTable); jak |
Muss ich da vorher den alten contentPane() löschen ?
weil ich binde die neue Table in der Methode ein, aber es verändert sich nichts :-( |
Ein .getContentPane().add(myTable) sollte es tun.
Eventuell noch ein .update() aufrufen. Kennst du schon diese Seite: http://java.sun.com/docs/books/tutorial/uiswing/ besonders diese Unterseiten sind empfehlenswert: http://java.sun.com/docs/books/tutor...onentlist.html http://java.sun.com/docs/books/tutor...vents/api.html jak |
mit pack() erstellt er mir endlich ein neues aktualisiertes Frame.
und mit show() gehts auch :) |
pack & show
Hi mal
Also ich würde dass nur im notfall mit pack und show machen, weil da wird ja viel mehr neu gemacht als nur das frame, und das geht ja auch die Performance... Wann werden die Daten in der HashMap geändert?? da wirds ja irgendein Event geben oder?? bei dem Event würd ich einfach sagen Table.getModel().fireTableDataChanged() (galub dass die methode so heisst) dass dann dürfts gehen |
Das ganze Funkt so.
Alle 5 Sekunden werden in einer anderen Klasse (KLASSE B) Methoden aufgerufen und in einer Methode dieser KLASSE B ist der Interface-Aufruf. Dieses Interface ruft in der TIMERDATEN Klasse die Methode public void getHashmap(HashMap map) auf und übergibt ihr die neue HashMap. Somit hat die TIMERDATEN Klasse die neue Hashmap und soll auch die JTable aktualisieren. So sieht der komplette Code meiner GUI Klasse aus Code:
package dboxwatcher2_0; |
OK!
ich hab den int getRowCount() nicht mit der HashMap in Verbindung gebracht, dadurch hat sich die Zeilenanzahl nicht aktualisiert. Nur warum zum Teufel aktualisiert sich die Table wenn ich auf einen Button klicke und nicht wenn die Methode über das Interface aufgerufen wird. Was macht der ActionListener anders als meine InterfacMethode ? Code:
public void actionPerformed(ActionEvent evt) { getHashmap() wird von einer anderen Klasse alle 5 Sekunden über ein Interface aufgerufen. Sie muss doch das gleiche machen wie so ein blöder Buttonklick. Es steht doch haargenau das selbe drinnen. Ich versteh das ned, ich dreh noch durch :mad2: :hammer: :ms: :heul: |
Verwende ich die Funktion des Interface richtig ?
Code:
public interface DBoxWatcherInterface { Code:
public class B { |
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag