[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