summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/javax/swing/JComponent.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/swing/JComponent.java')
-rw-r--r--libjava/classpath/javax/swing/JComponent.java55
1 files changed, 34 insertions, 21 deletions
diff --git a/libjava/classpath/javax/swing/JComponent.java b/libjava/classpath/javax/swing/JComponent.java
index deb08c5db59..747eba54db4 100644
--- a/libjava/classpath/javax/swing/JComponent.java
+++ b/libjava/classpath/javax/swing/JComponent.java
@@ -45,7 +45,6 @@ import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
-import java.awt.FlowLayout;
import java.awt.FocusTraversalPolicy;
import java.awt.Font;
import java.awt.Graphics;
@@ -621,7 +620,6 @@ public abstract class JComponent extends Container implements Serializable
public JComponent()
{
super();
- super.setLayout(new FlowLayout());
setDropTarget(new DropTarget());
defaultLocale = Locale.getDefault();
debugGraphicsOptions = DebugGraphics.NONE_OPTION;
@@ -801,14 +799,23 @@ public abstract class JComponent extends Container implements Serializable
}
/**
- * Return all registered listeners of a particular type.
- *
- * @param listenerType The type of listener to return
- *
- * @return All listeners in the {@link #listenerList} which
- * are of the specified type
+ * Returns all registered {@link EventListener}s of the given
+ * <code>listenerType</code>.
*
+ * @param listenerType the class of listeners to filter (<code>null</code>
+ * not permitted).
+ *
+ * @return An array of registered listeners.
+ *
+ * @throws ClassCastException if <code>listenerType</code> does not implement
+ * the {@link EventListener} interface.
+ * @throws NullPointerException if <code>listenerType</code> is
+ * <code>null</code>.
+ *
+ * @see #getAncestorListeners()
* @see #listenerList
+ *
+ * @since 1.3
*/
public EventListener[] getListeners(Class listenerType)
{
@@ -1287,7 +1294,7 @@ public abstract class JComponent extends Container implements Serializable
{
Dimension prefSize = null;
if (preferredSize != null)
- prefSize = preferredSize;
+ prefSize = new Dimension(preferredSize);
else if (ui != null)
{
@@ -1298,12 +1305,7 @@ public abstract class JComponent extends Container implements Serializable
if (prefSize == null)
prefSize = super.getPreferredSize();
- // make sure that prefSize is not smaller than minSize
- if (minimumSize != null && prefSize != null
- && (minimumSize.width > prefSize.width
- || minimumSize.height > prefSize.height))
- prefSize = new Dimension(Math.max(minimumSize.width, prefSize.width),
- Math.max(minimumSize.height, prefSize.height));
+
return prefSize;
}
@@ -2530,7 +2532,10 @@ public abstract class JComponent extends Container implements Serializable
public void setMaximumSize(Dimension max)
{
Dimension oldMaximumSize = maximumSize;
- maximumSize = new Dimension(max);
+ if (max != null)
+ maximumSize = new Dimension(max);
+ else
+ maximumSize = null;
firePropertyChange("maximumSize", oldMaximumSize, maximumSize);
}
@@ -2544,7 +2549,10 @@ public abstract class JComponent extends Container implements Serializable
public void setMinimumSize(Dimension min)
{
Dimension oldMinimumSize = minimumSize;
- minimumSize = new Dimension(min);
+ if (min != null)
+ minimumSize = new Dimension(min);
+ else
+ minimumSize = null;
firePropertyChange("minimumSize", oldMinimumSize, minimumSize);
}
@@ -2558,7 +2566,10 @@ public abstract class JComponent extends Container implements Serializable
public void setPreferredSize(Dimension pref)
{
Dimension oldPreferredSize = preferredSize;
- preferredSize = new Dimension(pref);
+ if (pref != null)
+ preferredSize = new Dimension(pref);
+ else
+ preferredSize = null;
firePropertyChange("preferredSize", oldPreferredSize, preferredSize);
}
@@ -2722,7 +2733,7 @@ public abstract class JComponent extends Container implements Serializable
*/
public void updateUI()
{
- System.out.println("update UI not overwritten in class: " + this);
+ // Nothing to do here.
}
public static Locale getDefaultLocale()
@@ -3253,7 +3264,7 @@ public abstract class JComponent extends Container implements Serializable
Rectangle target = SwingUtilities.convertRectangle(found,
currentClip,
newParent);
- if (target.contains(parRect) || target.intersects(parRect))
+ if (! target.intersection(parRect).equals(target))
{
found = newParent;
currentClip = target;
@@ -3269,10 +3280,12 @@ public abstract class JComponent extends Container implements Serializable
boolean skip = true;
for (int i = children.length - 1; i >= 0; i--)
{
+ boolean nextSkip = skip;
if (children[i] == parent)
- skip = false;
+ nextSkip = false;
if (skip)
continue;
+ skip = nextSkip;
Component c = children[i];
Rectangle compBounds = c.getBounds();
// If the component completely overlaps the clip in question, we
OpenPOWER on IntegriCloud