Hey, ich habe zwei Methoden in meinem JPanel, sie löschen jeweils Componenten und adden neue. Hier sind sie:
...die setInhalt() Methode funktioniert wunderbar. Die GUI macht immer schön ein Update. die clear() Methode allerdings kriegt das nicht hin. Hier ist es so, dass sich das Panel nicht verändert, erst wenn ich es resize...
Beide Methoden sind doch gleich aufgebaut, ich rufe schön brav ein validate() auf, laut API sollte es das dann auch gewesen sein. Und beide werden vom EDT verarbeitet.
Habt ihr irgendeine Idee wo man hier noch nach einem Fehler/Unterschied suchen könnte?
Wie kann ich zB herausfinden welcher Thread gerade diese Methoden aufruft? Eigentlich müsste es bei beiden der gleiche sein, aber wer weiss...
Bin um jede Hilfe froh, ich kämpf hier seit einer STunde, die eine Methode klappt immer perfekt, die andere klappt nie.
danke
Java:
/**
* Setzt den Quellcode, der angezeigt wird.
*
* @param quellcode
* der neue Quellcode
*/
public void setInhalt(final String quellcode) {
textArea.setText(quellcode);
if (quellcode == null) {
this.clear();
} else {
final JComponent th1s = this;
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
th1s.removeAll();
setLayout(new BorderLayout());
th1s.add(new JScrollPane(textArea), BorderLayout.CENTER);
th1s.validate();
}
});
}
}
/**
* Löscht den Quellcode und zeigt die Drag & Drop Information an
*/
public void clear() {
final JComponent th1s = this;
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
th1s.removeAll();
setLayout(new FlowLayout(FlowLayout.CENTER));
th1s.add(info);
th1s.validate();
}
});
}
...die setInhalt() Methode funktioniert wunderbar. Die GUI macht immer schön ein Update. die clear() Methode allerdings kriegt das nicht hin. Hier ist es so, dass sich das Panel nicht verändert, erst wenn ich es resize...
Beide Methoden sind doch gleich aufgebaut, ich rufe schön brav ein validate() auf, laut API sollte es das dann auch gewesen sein. Und beide werden vom EDT verarbeitet.
Habt ihr irgendeine Idee wo man hier noch nach einem Fehler/Unterschied suchen könnte?
Wie kann ich zB herausfinden welcher Thread gerade diese Methoden aufruft? Eigentlich müsste es bei beiden der gleiche sein, aber wer weiss...
Bin um jede Hilfe froh, ich kämpf hier seit einer STunde, die eine Methode klappt immer perfekt, die andere klappt nie.
danke