This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
FYI: Patch: java.awt
- From: Michael Koch <konqueror at gmx dot de>
- To: java-patches at gcc dot gnu dot org
- Date: Mon, 17 Mar 2003 16:22:52 +0100
- Subject: FYI: Patch: java.awt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi list,
I commited the attached fix to trunk. It will go into classpath soon.
Michael
- --
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+dehMWSOgCCdjSDsRAo6hAJ0ar1ywTiyJdJ84kFm9HWscdnoYAACfXDN4
lZkybO2EbiV7NP5bicaO4SU=
=i+i2
-----END PGP SIGNATURE-----
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libjava/ChangeLog,v
retrieving revision 1.1780
diff -u -r1.1780 ChangeLog
--- ChangeLog 17 Mar 2003 09:13:15 -0000 1.1780
+++ ChangeLog 17 Mar 2003 14:48:30 -0000
@@ -1,3 +1,51 @@
+2003-03-17 Michael Koch <konqueror at gmx dot de>
+
+ * java/awt/Dialog.java
+ (Dialog): New constructor, changed implementations, added
+ documentation.
+ * java/awt/ScrollPaneAdjustable.java
+ (ScrollPaneAdjustable): Extends Object, implements Adjustable and
+ Serializable.
+ (serialVersionUID): New member variable.
+ (sp): New member variable.
+ (orientation): New member variable.
+ (value): New member variable.
+ (minimum): New member variable.
+ (maximum): New member variable.
+ (visibleAmount): New member variable.
+ (unitIncrement): New member variable.
+ (blockIncrement): New member variable.
+ (AdjustmentListener): New member variable.
+ (ScrollPaneAdjustable): New implementation.
+ (addAdjustmentListener): New method.
+ (removeAdjustmentListener): New method.
+ (getAdjustmentListeners): New method.
+ (getBlockIncrement): New method.
+ (getMaximum): New method.
+ (getMinimum): New method.
+ (getOrientation): New method.
+ (getUnitIncrement): New method.
+ (getValue): New method.
+ (getVisibleAmount): New method.
+ (setBlockIncrement): New method.
+ (setMaximum): Implemented.
+ (setMinimum): Implemented.
+ (setUnitIncrement): New method.
+ (setValue): New method.
+ (setVisibleAmount): Implemented.
+ (paramString): New stubbed method.
+ * java/awt/Window.java
+ (show): Call setVisible().
+ (hide): Call setVisible().
+ (processEvent): Add cases for WINDOW_GAINED_FOCUS, WINDOW_LOST_FOCUS
+ and WINDOW_STATE_CHANGED.
+ (processWindowFocusEvent): New method.
+ (processWindowStateEvent): New method.
+ (postEvent): Deprecated.
+ (applyResourceBundle): Deprecated.
+ * java/awt/datatransfer/DataFlavor.java
+ (DataFlavor): Doesn't thow ClassNotFoundException.
+
2003-03-17 Michael Koch
* javax/print/attribute/Attribute.java,
Index: java/awt/Dialog.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Dialog.java,v
retrieving revision 1.6
diff -u -r1.6 Dialog.java
--- java/awt/Dialog.java 15 Feb 2003 09:21:54 -0000 1.6
+++ java/awt/Dialog.java 17 Mar 2003 14:48:30 -0000
@@ -153,11 +153,37 @@
* @param title The title string for this dialog box.
* @param modal <true> if this dialog box is modal, <code>false</code>
* otherwise.
+ *
+ * @exception IllegalArgumentException If owner is null or
+ * GraphicsEnvironment.isHeadless() returns true.
*/
public
Dialog(Frame parent, String title, boolean modal)
{
- super(parent);
+ this (parent, title, modal, parent.getGraphicsConfiguration ());
+}
+
+/**
+ * Initializes a new instance of <code>Dialog</code> with the specified,
+ * parent, title, modality and <code>GraphicsConfiguration</code>,
+ * that is not resizable.
+ *
+ * @param parent The parent frame of this dialog box.
+ * @param title The title string for this dialog box.
+ * @param modal <true> if this dialog box is modal, <code>false</code>
+ * otherwise.
+ * @param gc The <code>GraphicsConfiguration</code> object to use.
+ *
+ * @exception IllegalArgumentException If owner is null, the
+ * GraphicsConfiguration is not a screen device or
+ * GraphicsEnvironment.isHeadless() returns true.
+ *
+ * @since 1.4
+ */
+public
+Dialog (Frame parent, String title, boolean modal, GraphicsConfiguration gc)
+{
+ super (parent, gc);
this.title = title;
this.modal = modal;
@@ -166,10 +192,19 @@
setLayout(new BorderLayout());
}
+/**
+ * Initializes a new instance of <code>Dialog</code> with the specified,
+ * parent, that is not resizable.
+ *
+ * @exception IllegalArgumentException If parent is null. This exception is
+ * always thrown when GraphicsEnvironment.isHeadless() returns true.
+ *
+ * @since 1.2
+ */
public
Dialog (Dialog owner)
{
- this (owner, "", false);
+ this (owner, "", false, owner.getGraphicsConfiguration ());
}
/**
@@ -184,7 +219,7 @@
public
Dialog (Dialog owner, String title)
{
- this (owner, title, false);
+ this (owner, title, false, owner.getGraphicsConfiguration ());
}
/**
@@ -199,9 +234,29 @@
public
Dialog (Dialog owner, String title, boolean modal)
{
- super (owner);
+ this (owner, title, modal, owner.getGraphicsConfiguration ());
+}
+
+/**
+ * Initializes a new instance of <code>Dialog</code> with the specified,
+ * parent, title, modality and <code>GraphicsConfiguration</code>,
+ * that is not resizable.
+ *
+ * @exception IllegalArgumentException If parent is null, the
+ * GraphicsConfiguration is not a screen device or
+ * GraphicsEnvironment.isHeadless() returns true.
+ *
+ * @since 1.4
+ */
+public
+Dialog (Dialog parent, String title, boolean modal, GraphicsConfiguration gc)
+{
+ super (parent, parent.getGraphicsConfiguration ());
+
this.modal = modal;
this.title = title;
+ resizable = false;
+
setLayout (new BorderLayout ());
}
Index: java/awt/ScrollPaneAdjustable.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/ScrollPaneAdjustable.java,v
retrieving revision 1.2
diff -u -r1.2 ScrollPaneAdjustable.java
--- java/awt/ScrollPaneAdjustable.java 19 Feb 2003 11:41:16 -0000 1.2
+++ java/awt/ScrollPaneAdjustable.java 17 Mar 2003 14:48:30 -0000
@@ -38,29 +38,135 @@
package java.awt;
+import java.awt.event.AdjustmentListener;
+import java.io.Serializable;
+
/**
* Need this class since the serialization spec for ScrollPane
* uses it.
*
* @author Aaron M. Renn (arenn at urbanophile dot com)
+ * @since 1.4
*/
-class ScrollPaneAdjustable extends Scrollbar
+public class ScrollPaneAdjustable
+ implements Adjustable, Serializable
{
- public ScrollPaneAdjustable (int orientation)
+ private static final long serialVersionUID = -3359745691033257079L;
+
+ ScrollPane sp;
+ int orientation;
+ int value;
+ int minimum;
+ int maximum;
+ int visibleAmount;
+ int unitIncrement;
+ int blockIncrement;
+ AdjustmentListener adjustmentListener;
+
+ ScrollPaneAdjustable (ScrollPane sp, int orientation, int value, int minimum,
+ int maximum, in visibleAmount, int unitIncrement,
+ int blockIncrement)
+ {
+ this.sp = sp;
+ this.orientation = orientation;
+ this.value = value;
+ this.minimum = minimum;
+ this.maximum = maximum;
+ this.visibleAmount = visibleAmount;
+ this.unitIncrement = Increment;
+ this.blockIncrement = Increment;
+ }
+
+ public void addAdjustmentListener (AdjustmentListener listener)
+ {
+ AWTEventMulticaster.add (adjustmentListener, listener);
+ }
+
+ public void removeAdjustmentListener (AdjustmentListener listener)
+ {
+ AWTEventMulticaster.remove (adjustmentListener, listener);
+ }
+
+ public AdjustmentListener[] getAdjustmentListeners ()
+ {
+ return (AdjustmentListener) AWTEventMulticaster.getListeners (AdjustmentListener.class);
+ }
+
+ public int getBlockIncrement ()
+ {
+ return blockIncrement;
+ }
+
+ public int getMaximum ()
+ {
+ return maximum;
+ }
+
+ public int getMinimum ()
+ {
+ return minimum;
+ }
+
+ public int getOrientation ()
+ {
+ return orientation;
+ }
+
+ public int getUnitIncrement ()
+ {
+ return unitIncrement;
+ }
+
+ public int getValue ()
+ {
+ return value;
+ }
+
+ public int getVisibleAmount ()
{
- super (orientation);
+ return visibleAmount;
}
+ public void setBlockIncrement (int blockIncrement)
+ {
+ this.blockIncrement = blockIncrement;
+ }
+
public void setMaximum (int maximum)
{
+ this.maximum = maximum;
}
public void setMinimum (int minimum)
{
+ this.minimum = minimum;
+ }
+
+ public void setUnitIncrement (int unitIncrement)
+ {
+ this.unitIncrement = unitIncrement;
}
+ public void setValue (int value)
+ {
+ this.value = value;
+
+ if (value < minimum)
+ minimum = value;
+
+ if (value > maximum)
+ maximum = value;
+ }
+
public void setVisibleAmount (int visibleAmount)
{
+ this.visibleAmount = visibleAmount;
}
+
+ public String paramString ()
+ {
+ throw new Error ("not implemented");
+ }
+
} // class ScrollPaneAdjustable
Index: java/awt/Window.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/Window.java,v
retrieving revision 1.18
diff -u -r1.18 Window.java
--- java/awt/Window.java 10 Mar 2003 13:21:37 -0000 1.18
+++ java/awt/Window.java 17 Mar 2003 14:48:31 -0000
@@ -213,14 +213,14 @@
addNotify();
validate();
- super.show();
+ setVisible (true);
toFront();
}
public void hide()
{
// FIXME: call hide() on any "owned" children here.
- super.hide();
+ setVisible (false);
}
public boolean isDisplayable()
@@ -526,6 +526,13 @@
case WindowEvent.WINDOW_OPENED:
windowListener.windowOpened(evt);
break;
+ case WindowEvent.WINDOW_GAINED_FOCUS:
+ case WindowEvent.WINDOW_LOST_FOCUS:
+ processWindowFocusEvent (evt);
+ break;
+ case WindowEvent.WINDOW_STATE_CHANGED:
+ processWindowStateEvent (evt);
+ break;
}
}
}
@@ -548,6 +555,8 @@
* Post a Java 1.0 event to the event queue.
*
* @param event The event to post.
+ *
+ * @deprecated
*/
public boolean postEvent(Event e)
{
@@ -566,13 +575,21 @@
return super.isShowing();
}
- /** @since 1.2 */
+ /**
+ * @since 1.2
+ *
+ * @deprecated
+ */
public void applyResourceBundle(ResourceBundle rb)
{
// FIXME
}
- /** @since 1.2 */
+ /**
+ * @since 1.2
+ *
+ * @deprecated
+ */
public void applyResourceBundle(String rbName)
{
ResourceBundle rb = ResourceBundle.getBundle(rbName);
@@ -597,5 +614,35 @@
if (graphicsConfiguration != null) return graphicsConfiguration;
if (peer != null) return peer.getGraphicsConfiguration();
return null;
+ }
+
+ protected void processWindowFocusEvent(WindowEvent event)
+ {
+ if (windowFocusListener != null)
+ {
+ switch (event.getID ())
+ {
+ case WindowEvent.WINDOW_GAINED_FOCUS:
+ windowFocusListener.windowGainedFocus (event);
+ break;
+
+ case WindowEvent.WINDOW_LOST_FOCUS:
+ windowFocusListener.windowLostFocus (event);
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ /**
+ * @since 1.4
+ */
+ protected void processWindowStateEvent(WindowEvent event)
+ {
+ if (windowStateListener != null
+ && event.getID () == WindowEvent.WINDOW_STATE_CHANGED)
+ windowStateListener.windowStateChanged (event);
}
}
Index: java/awt/datatransfer/DataFlavor.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/awt/datatransfer/DataFlavor.java,v
retrieving revision 1.8
diff -u -r1.8 DataFlavor.java
--- java/awt/datatransfer/DataFlavor.java 10 Mar 2003 13:21:38 -0000 1.8
+++ java/awt/datatransfer/DataFlavor.java 17 Mar 2003 14:48:31 -0000
@@ -49,6 +49,7 @@
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
+import java.nio.charset.Charset;
/**
* This class represents a particular data format used for transferring
@@ -335,9 +336,8 @@
*/
public
DataFlavor(String mimeType, String humanPresentableName)
- throws ClassNotFoundException
{
- this(mimeType, humanPresentableName, null);
+ this (getRepresentationClassFromMime (mimeType, null), humanPresentableName);
}
/*************************************************************************/