svn commit: r17649 - trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2009-12-11 15:51:31-0800
New Revision: 17649

Modified:
   trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java

Log:
Remove the current panel when its done with

Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java?view=diff&pathrev=17649&r1=17648&r2=17649
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java	2009-12-11 15:51:31-0800
@@ -77,6 +77,11 @@
     private JPanel lastPanel;
     private String panelClassBaseName = "";
 
+    /**
+     * The panel currently displayed in center
+     */
+    private JPanel currentPanel;
+    
     private Object target;
 
     /**
@@ -204,20 +209,24 @@
             repaint();
             lastPanel = blankPanel;
         } else {
-            JPanel newPanel = null;
-            newPanel = findPanelFor(target);
+            JPanel newPanel = findPanelFor(target);
             if (newPanel != null && newPanel instanceof TabModelTarget) {
                 addTargetListener((TabModelTarget) newPanel);
             }
-            if (newPanel instanceof JPanel) {
-                add((JPanel) newPanel, BorderLayout.CENTER);
-                lastPanel = (JPanel) newPanel;
+            
+            if (currentPanel != null) {
+                remove(currentPanel);
+                currentPanel = null;
+            }
+            if (newPanel != null) {
+                currentPanel = newPanel;
             } else {
-                add(blankPanel, BorderLayout.CENTER);
-                validate();
-                repaint();
+                currentPanel = blankPanel;
                 lastPanel = blankPanel;
             }
+            add(currentPanel);
+            validate();
+            repaint();
         }
     }

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2429889

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.