• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
  • Mikalai Zaikin

copy paste java object using System clipboard

Ranch Hand
Posts: 158
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I want to copy paste java objects between java applications using the system clipboard.So far only string transfer is supported between java programs and system clipboard.
One way to transfer java objects is to encode them as string and put into the system clipboard, then retrieving the string from the system clipboard and decoding them to the respective object. Ofcourse both the applications have to know the encoding and decoding algorithm.
For this I took the help of 'core Java 2 Volumn II-Advanced Features' from 'The Sun Microsystems Press, Java Series', by C.S. Horstmann and G. Cornell (ISBN 81-7808-018-4).
They have a sample code in the CD and it's explaination in Chapter 7.
Here it is what it is supposed to do:
1. It displays a frame where I can load any jpg/gif image by clicking on the open menu item.
2. I can copy the image by clicking on the copy menu item. the image goes to the system clipboard as a string (object encoded as string in MIME format).
3. Open the same application (maybe in another shell prompt or close the first applicaiton and open it again in the same prompt).
4. click on 'paste' menu item. Ideally it should display the image loaded and copied in the first frame. but on clicking paste ,it gives this exception:

My OS is Windows NT 4.0. The version of java I am using as I obtained by typing 'java -version' is:
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
What surprised me is that though in the exception message, it is stated the exception occured at :
java.awt.datatransfer.UnsupportedFlavorException: Serializable Object at sun.awt.windows.FullyRenderedTransferable.getTransferData(Unknown Sou
rce), there is no sun.awt.windows.FullyRenderedTransferable class or interface (I tried by typing javap sun.awt.windows.FullyRenderedTransferable which gave me class not found, though other classes in sun.awt.windows can be found).
Can anyone explain me the problem. Copy/paste in the same application(frame) gives no problem.
Is the code not correct or if it is, why is it wrong in my computer JDK .
here is the sample code. Simple copy and paste it into a file MimeClipboardTest.java and compile and run it:

Please let me know the problem
thanks in advance
Consider Paul's rocket mass heater.
    Bookmark Topic Watch Topic
  • New Topic