• Post Reply Bookmark Topic Watch Topic
  • New Topic

Copy and paste java objects using System clipboard

Tanveer Rameez
Ranch Hand
Posts: 158
  • Mark post as helpful
  • send pies
  • 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 When I compiled and executed the program, 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 :
sun.awt.windows.FullyRenderedTransferable.getTransferData, 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. Do you have any alternate approach of passing any objects through System clipboard.
thanks in advance
[ June 07, 2002: Message edited by: Tanveer Rameez ]
Mr. C Lamont Gilbert
Ranch Hand
Posts: 1170
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If its serializable it should be transferrable if you make your own Transferrable.
Your talking about between JVM transfers right?
I have done lots of intra JVM transfers but I truthfully havent done the inter JVM transfer..
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!