This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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);
 }
 
 /*************************************************************************/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]