diff options
author | Bryce McKinlay <bryce@gcc.gnu.org> | 2000-08-09 14:01:44 +0100 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2000-08-09 14:01:44 +0100 |
commit | b996061366563d9caec5e0b5513316d92873d6a4 (patch) | |
tree | 6680b09725d91ed3d9ada722960071772ab26354 /libjava/java/awt/Component.java | |
parent | 7e8dad182700d23558d74de4d1461379d9ed6124 (diff) | |
download | gcc-b996061366563d9caec5e0b5513316d92873d6a4.zip gcc-b996061366563d9caec5e0b5513316d92873d6a4.tar.gz gcc-b996061366563d9caec5e0b5513316d92873d6a4.tar.bz2 |
Makefile.am: Move beans and applet classes to awt_java_source_files.
2000-08-09 Bryce McKinlay <bryce@albatross.co.nz>
* Makefile.am: Move beans and applet classes to
awt_java_source_files.
* Makefile.in: Rebuilt.
* java/awt/Color.java (getTransparency): New method.
* java/awt/Component.java: Various updates.
* java/awt/Container.java (removeNotify): Call super.removeNotify()
after dealing with children.
* java/awt/Toolkit.java (changeSupport): Renamed from pcsupport.
* java/awt/Window.java: Various new methods and updates.
* java/awt/color/ICC_Profile.java (getNumComponents): Cast profileID
to int for switch.
* java/awt/event/KeyEvent.java (paramString): Initialize `r'.
* java/awt/event/WindowEvent.java (paramString): Ditto.
* java/awt/geom/Dimension2D.java (clone): Wrap super call with
try/catch block.
* java/awt/geom/Point2D.java (clone): Ditto.
* java/awt/geom/RectangularShape.java (clone): Ditto.
* java/awt/image/ColorModel.java (bits, cspace, transparency,
hasAlpha, isAlphaPremultiplied): Make package-private, not private.
From-SVN: r35589
Diffstat (limited to 'libjava/java/awt/Component.java')
-rw-r--r-- | libjava/java/awt/Component.java | 117 |
1 files changed, 58 insertions, 59 deletions
diff --git a/libjava/java/awt/Component.java b/libjava/java/awt/Component.java index 5c61b91..a11c407 100644 --- a/libjava/java/awt/Component.java +++ b/libjava/java/awt/Component.java @@ -21,12 +21,15 @@ import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeListener; // import javax.accessibility.AccessibleContext; -/* Status: Incomplete. The event dispatch mechanism is implemented. All - other methods defined in the J2SE 1.3 API javadoc exist, but are mostly - incomplete or only stubs; except for methods relating to the Drag and Drop, - Input Method, and Accessibility frameworks: These methods are present but - commented out. */ - +/** + * The root of all evil. + * + * Status: Incomplete. The event dispatch mechanism is implemented. All + * other methods defined in the J2SE 1.3 API javadoc exist, but are mostly + * incomplete or only stubs; except for methods relating to the Drag and Drop, + * Input Method, and Accessibility frameworks: These methods are present but + * commented out. + */ public abstract class Component implements ImageObserver, MenuContainer, java.io.Serializable { @@ -38,11 +41,11 @@ public abstract class Component implements ImageObserver, MenuContainer, RIGHT_ALIGNMENT = 1.0f, TOP_ALIGNMENT = 0.0f; - /* Make the treelock a String so that it can easily be identified - in debug dumps. We clone the String in order to avoid a conflict in - the unlikely event that some other package uses exactly the same string - as a lock object. */ - static Object treeLock = new String("AWT_TREE_LOCK"); + /* Make the treelock a String so that it can easily be identified + in debug dumps. We clone the String in order to avoid a conflict in + the unlikely event that some other package uses exactly the same string + as a lock object. */ + static Object treeLock = new String("AWT_TREE_LOCK"); /* Serialized fields from the serialization spec. */ // FIXME: Default values? @@ -140,7 +143,8 @@ public abstract class Component implements ImageObserver, MenuContainer, /** @since 1.3 */ public GraphicsConfiguration getGraphicsConfiguration() { - // FIXME + if (parent != null) + return parent.getGraphicsConfiguration(); return null; } @@ -166,8 +170,7 @@ public abstract class Component implements ImageObserver, MenuContainer, /** @since 1.2 */ public boolean isDisplayable() { - // FIXME - return false; + return (peer != null); } public boolean isVisible() @@ -225,28 +228,38 @@ public abstract class Component implements ImageObserver, MenuContainer, // FIXME } + /** @specnote Inspection by subclassing shows that Sun's implementation + calls show(boolean) which then calls show() or hide(). It is + the show() method that is overriden in subclasses like Window. + We do the same to preserve compatibility for subclasses. */ public void setVisible(boolean b) { - visible = true; - // FIXME + show (b); } /** @deprecated */ public void show() { - setVisible(true); + if (peer != null) + peer.setVisible(true); + this.visible = true; } /** @deprecated */ public void show(boolean b) { - setVisible(b); + if (b) + show(); + else + hide(); } /** @deprecated */ public void hide() { - setVisible(false); + if (peer != null) + peer.setVisible(false); + this.visible = false; } public Color getForeground() @@ -256,6 +269,8 @@ public abstract class Component implements ImageObserver, MenuContainer, public void setForeground(Color c) { + if (peer != null) + peer.setForeground(c); this.foreground = c; } @@ -266,6 +281,8 @@ public abstract class Component implements ImageObserver, MenuContainer, public void setBackground(Color c) { + if (peer != null) + peer.setBackground(c); this.background = c; } @@ -276,6 +293,8 @@ public abstract class Component implements ImageObserver, MenuContainer, public void setFont(Font f) { + if (peer != null) + peer.setFont(f); this.font = f; } @@ -633,7 +652,7 @@ public abstract class Component implements ImageObserver, MenuContainer, public int checkImage(Image image, ImageObserver observer) { // FIXME - return false; + return 0; } public int checkImage(Image image, int width, int height, ImageObserver observer) @@ -699,41 +718,6 @@ public abstract class Component implements ImageObserver, MenuContainer, { dispatchEventImpl(e); } - /* This code needs to be split up and put in to dispatchEventImpl() in the - appropriate Component subclasses: - - else if ((e.id <= WindowEvent.WINDOW_LAST - && e.id >= WindowEvent.WINDOW_FIRST) - && (windowListener != null - || eventMask & AWTEvent.WINDOW_EVENT_MASK != 0)) - processEvent(e); - else if ((e.id <= AdjustmentEvent.ADJUSTMENT_LAST - && e.id >= AdjustmentEvent.ADJUSTMENT_FIRST) - && (adjustmentListener != null - || eventMask & AWTEvent.ADJUSTMENT_EVENT_MASK != 0)) - processEvent(e); - else if ((e.id <= ItemEvent.ITEM_LAST - && e.id >= ItemEvent.ITEM_FIRST) - && (itemListener != null - || eventMask & AWTEvent.ITEM_EVENT_MASK != 0)) - processEvent(e); - else if ((e.id <= PaintEvent.PAINT_LAST - && e.id >= PaintEvent.PAINT_FIRST) - && (paintListener != null - || eventMask & AWTEvent.PAINT_EVENT_MASK != 0)) - processEvent(e); - else if ((e.id <= TextEvent.TEXT_LAST - && e.id >= TextEvent.TEXT_FIRST) - && (textListener != null - || eventMask & AWTEvent.TEXT_EVENT_MASK != 0)) - processEvent(e); - else if ((e.id <= InvocationEvent.INVOCATION_LAST - && e.id >= InvocationEvent.INVOCATION_FIRST) - && (invocationListener != null - || eventMask & AWTEvent.INVOCATION_EVENT_MASK != 0)) - processEvent(e); - } - */ void dispatchEventImpl(AWTEvent e) { @@ -1218,12 +1202,16 @@ public abstract class Component implements ImageObserver, MenuContainer, public void addNotify() { - // FIXME + if (peer == null) + peer = getToolkit().createComponent(this); } public void removeNotify() - { - // FIXME + { + if (peer != null) + peer.dispose(); + peer = null; + visible = false; } /** @deprecated */ @@ -1312,26 +1300,37 @@ public abstract class Component implements ImageObserver, MenuContainer, public void addPropertyChangeListener(PropertyChangeListener listener) { - + if (changeSupport == null) + changeSupport = new PropertyChangeSupport(this); + changeSupport.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { + if (changeSupport != null) + changeSupport.removePropertyChangeListener(listener); } public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + if (changeSupport == null) + changeSupport = new PropertyChangeSupport(this); + changeSupport.addPropertyChangeListener(propertyName, listener); } public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { + if (changeSupport != null) + changeSupport.removePropertyChangeListener(propertyName, listener); } protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) { + if (changeSupport != null) + changeSupport.firePropertyChange(propertyName, oldValue, newValue); } public void setComponentOrientation(ComponentOrientation o) |