[Schmitzm-commits] r1873 - trunk/schmitzm-core/src/main/java/de/schmitzm/swing

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Fri Feb 24 18:51:31 CET 2012


Author: alfonx
Date: 2012-02-24 18:51:31 +0100 (Fri, 24 Feb 2012)
New Revision: 1873

Modified:
   trunk/schmitzm-core/src/main/java/de/schmitzm/swing/JPanel.java
Log:

	/**
	 * Reicht einen #dispose Aufruf an alle Component-Kinder weiter. 
	 */
	@Override
	public void dispose() {
		for (Component c : getComponents()) {
			if (c instanceof Disposable)
				((Disposable) c).dispose();
		}
		// OOM-Paranoia: 
		setLayout(null);
		// OOM-Paranoia, nicht sehr performant 
//		removeAll();
	}

Modified: trunk/schmitzm-core/src/main/java/de/schmitzm/swing/JPanel.java
===================================================================
--- trunk/schmitzm-core/src/main/java/de/schmitzm/swing/JPanel.java	2012-02-23 23:20:34 UTC (rev 1872)
+++ trunk/schmitzm-core/src/main/java/de/schmitzm/swing/JPanel.java	2012-02-24 17:51:31 UTC (rev 1873)
@@ -39,18 +39,16 @@
 import javax.swing.border.TitledBorder;
 
 /**
- * Diese Klasse erweitert das {@link javax.swing.JPanel} aus Standard-Java um
- * einige (nuetzliche) Funktionen.
+ * Diese Klasse erweitert das {@link javax.swing.JPanel} aus Standard-Java um einige (nuetzliche) Funktionen.
  * 
- * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a>
- *         (University of Bonn/Germany)
+ * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
  * @version 1.0
  */
-public class JPanel extends javax.swing.JPanel {
+public class JPanel extends javax.swing.JPanel implements Disposable {
 
 	/**
-	 * Wenn beim deaktivieren evt. ein {@link TitledBorder} ausgegraut wird,
-	 * dann wird sich in dieser Variable die orginale Farbe gemerkt.
+	 * Wenn beim deaktivieren evt. ein {@link TitledBorder} ausgegraut wird, dann wird sich in dieser Variable die
+	 * orginale Farbe gemerkt.
 	 **/
 	private Color backupColor = null;
 
@@ -60,12 +58,12 @@
 	 * @param layout
 	 *            {@link LayoutManager} fuer das Panel
 	 * @param isDoubleBuffered
-	 *            Flag, ob zusaetzlicher Speicher verwendet werden soll um
-	 *            flicker-freie Updates zu gewaehrleisten
+	 *            Flag, ob zusaetzlicher Speicher verwendet werden soll um flicker-freie Updates zu gewaehrleisten
 	 */
 	public JPanel(LayoutManager layout, boolean isDoubleBuffered) {
 		super(layout, isDoubleBuffered);
 	}
+	
 
 	/**
 	 * Erzeugt ein neues Panel.
@@ -81,8 +79,7 @@
 	 * Erzeugt ein neues Panel mit einem {@link FlowLayout}.
 	 * 
 	 * @param isDoubleBuffered
-	 *            Flag, ob zusaetzlicher Speicher verwendet werden soll um
-	 *            flicker-freie Updates zu gewaehrleisten
+	 *            Flag, ob zusaetzlicher Speicher verwendet werden soll um flicker-freie Updates zu gewaehrleisten
 	 */
 	public JPanel(boolean isDoubleBuffered) {
 		super(isDoubleBuffered);
@@ -96,12 +93,10 @@
 	}
 
 	/**
-	 * Erzeugt ein neues Panel mit angegebenen {@link LayoutManager} und einem
-	 * {@link TitledBorder}
+	 * Erzeugt ein neues Panel mit angegebenen {@link LayoutManager} und einem {@link TitledBorder}
 	 * 
 	 * @param borderTitle
-	 *            Wenn ungleich null wird {@link TitledBorder} für das Panel
-	 *            erzeugt
+	 *            Wenn ungleich null wird {@link TitledBorder} für das Panel erzeugt
 	 */
 	public JPanel(LayoutManager layout, String borderTitle) {
 		super(layout);
@@ -112,12 +107,11 @@
 
 	/**
 	 * Enables or disables all Components of this panel recursively.<br/>
-	 * If this component has a {@link TitledBorder}, the font color will be
-	 * brightened while it is disabled.
+	 * If this component has a {@link TitledBorder}, the font color will be brightened while it is disabled.
 	 */
 	@Override
 	public void setEnabled(boolean enabled) {
-		
+
 		// Color changing may not be done twice, even if setEnabled(false)
 		// is called multiple times.
 		if (enabled != isEnabled() && getBorder() instanceof TitledBorder) {
@@ -136,28 +130,26 @@
 		}
 
 		super.setEnabled(enabled);
-		
+
 		// Passing it down to all sub-components
 		for (Component c : getComponents())
 			c.setEnabled(enabled);
 	}
 
 	/**
-     * Enables or disables all input components of this panel recursively..
-     */
-    public void setEditable(boolean editable) {
-      SwingUtil.setEditable(this, editable);
-    }
-    
+	 * Enables or disables all input components of this panel recursively..
+	 */
+	public void setEditable(boolean editable) {
+		SwingUtil.setEditable(this, editable);
+	}
+
 	/**
-	 * Setzt die Hintergrund-Farbe der Komponente und optional die der
-	 * untergeordneten Komponenten
+	 * Setzt die Hintergrund-Farbe der Komponente und optional die der untergeordneten Komponenten
 	 * 
 	 * @param color
 	 *            neue Hintergrund-Farbe
 	 * @param components
-	 *            bestimmt, ob auch die Hintergrundfarbe der Unterkomponenten
-	 *            gesetzt werden soll
+	 *            bestimmt, ob auch die Hintergrundfarbe der Unterkomponenten gesetzt werden soll
 	 */
 	public void setBackground(Color color, boolean components) {
 		// Hintergrund von Panel selbst setzen
@@ -173,9 +165,8 @@
 	}
 
 	/**
-	 * Nuetzlich wenn die Componente gedruckt (z.B. wenn ein Screenshot gemacht
-	 * wird) wird. Dann werden wird der Hintergrund auf {@link Color#WHITE}
-	 * gesetzt.
+	 * Nuetzlich wenn die Componente gedruckt (z.B. wenn ein Screenshot gemacht wird) wird. Dann werden wird der
+	 * Hintergrund auf {@link Color#WHITE} gesetzt.
 	 */
 	@Override
 	public void print(final Graphics g) {
@@ -189,4 +180,19 @@
 		}
 	}
 
+
+	/**
+	 * Reicht einen #dispose Aufruf an alle Component-Kinder weiter. 
+	 */
+	@Override
+	public void dispose() {
+		for (Component c : getComponents()) {
+			if (c instanceof Disposable)
+				((Disposable) c).dispose();
+		}
+		// OOM-Paranoia: 
+		setLayout(null);
+		// OOM-Paranoia, nicht sehr performant 
+//		removeAll();
+	}
 }



More information about the Schmitzm-commits mailing list