Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4470622

JColorChooser exports data in unsupported 'int' format

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P3
    • None
    • 1.4.0
    • client-libs
    • sparc
    • solaris_8

    Description

      The bug fixed under the id 4426794 was that JColorChooser doesn't receive
      DropTargetEvents even though it has an associated DropTarget. The debug output
      in the test from the Comments section indicates that JColorChooser now receives DropTargetEvents.

      However, even with properly dispatched DropTargetEvents, colors are not
      transferred.

      I found several causes of the transfer failure:
      1.The Transferable created to export the color from a JColorChooser
      builds the DataFlavor representing the color data using "int" as
      a representation class. This causes a ClassNotFoundException, since
      primitive types cannot be loaded with Class.forName(). The export of
      primitive types is not supported by the data transfer subsystem, and
      we have no plan to support such types in merlin.
      2.The drop target associated with the label accepts only DataFlavors
      with a representation class of "java.awt.Color", so the transfer fails,
      since the source side exports "int" data.
      3.When the color is transferred between two JColorChoosers the
      representation classes match, but the source JColorChooser fails to
      provide the color, causing the following exception:

      java.io.IOException: Property read failed: color
              at javax.swing.TransferHandler$PropertyTransferable.getTransferData(TransferHandler.java:510)
              at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java:213)
              at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java:48)
              at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java:362)
              at javax.swing.TransferHandler.importData(TransferHandler.java:223)
              at javax.swing.TransferHandler$DropHandler.drop(TransferHandler.java:663)
              at java.awt.dnd.DropTarget.drop(DropTarget.java:400)
              at javax.swing.TransferHandler$SwingDropTarget.drop(TransferHandler.java:601)
              at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:577)
              at sun.awt.dnd.SunDropTargetContextPeer.access$800(SunDropTargetContextPeer.java:55)
              at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:829)
              at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:767)
              at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:32)
              at java.awt.Component.dispatchEventImpl(Component.java:3371)
              at java.awt.Container.dispatchEventImpl(Container.java:1440)
              at java.awt.Component.dispatchEvent(Component.java:3353)
              at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3176)
              at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:2964)
              at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2837)
              at java.awt.Container.dispatchEventImpl(Container.java:1426)
              at java.awt.Window.dispatchEventImpl(Window.java:1531)
              at java.awt.Component.dispatchEvent(Component.java:3353)
              at java.awt.EventQueue.dispatchEvent(EventQueue.java:439)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:150)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:131)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

      Attachments

        Issue Links

          Activity

            People

              mdavidsosunw Mark Davidson (Inactive)
              dmendenhsunw David Mendenhall (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: