Der richtige Weg, um eine Komponente in Java zu "tauschen"

8

Ich versuche es so zu machen, dass ein JTable verschwindet, wenn ein Benutzer auf etwas auf meiner GUI klickt (was irrelevant ist) und ein anderes JComponent wird es ersetzen.

Momentan benutze ich den folgenden Code, wobei contentPanel das JPanel ist, das ich als Inhaltsbereich von JFrame festlege:

%Vor%

was perfekt funktioniert, aber ich möchte nur bestätigen, dass dies die richtige Methode ist. Ich meine, ich kann mir keinen anderen Weg vorstellen, um das zu erreichen, aber das bedeutet nicht unbedingt etwas, und wenn es einen besseren Weg gibt, es in Bezug auf die Leistung oder irgendetwas zu tun, möchte ich es wissen ...

    
Andy 22.12.2011, 19:39
quelle

2 Antworten

14

Nein, das ist NICHT der richtige Weg. Sie sollten updateUI () niemals aufrufen. Lesen Sie die API, diese Methode wird nur verwendet, wenn Sie den LAF ändern.

Nach dem Hinzufügen / Entfernen von Komponenten sollten Sie tun:

%Vor%
  

(es ist irrelevant was), eine JTable wird verschwinden und eine andere JComponent wird sie ersetzen.

Vielleicht ist es relevant. Normalerweise wird eine JTable in einem JScrollPane angezeigt. Vielleicht ist eine bessere Lösung zu verwenden:

%Vor%

Dann wird der Scrollpanel die Validierung für Sie durchführen.

    
camickr 22.12.2011, 19:45
quelle
7

Besser ist es, ein CardLayout zu verwenden und beide Tabellen hinzuzufügen und dann nur die richtige Karte / Tabelle anzuzeigen.

    
Kylar 22.12.2011 19:46
quelle

Tags und Links