This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
Re: Running Java application with drag and drop support in cygwin
- From: Dees <deepali dot shefali at gmail dot com>
- To: cygwin-xfree at cygwin dot com
- Date: Fri, 18 Dec 2009 11:23:57 +0530
- Subject: Re: Running Java application with drag and drop support in cygwin
- References: <15fe165d0910272257x18264be8sadf9d778e15d8f25@mail.gmail.com> <4AE9A9A3.7090704@dronecode.org.uk> <15fe165d0910300206n2fad7c58p9c9e69ccb5fae959@mail.gmail.com> <4AFD73A0.5030407@dronecode.org.uk> <15fe165d0912132242h3626f4f2k7eccb1e652300a63@mail.gmail.com>
- Reply-to: cygwin-xfree at cygwin dot com
Hi Jon,
Did you get a chance to look at this?
>From whatever posts available online, I could not get a clue what is
going wrong.
Please respond.
Thanks,
Shefali
On Mon, Dec 14, 2009 at 12:12 PM, Dees <deepali.shefali@gmail.com> wrote:
> On Fri, Nov 13, 2009 at 8:26 PM, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
>> On 30/10/2009 09:06, Dees wrote:
>>>
>>> Your reply is much appreciated Jon. I will try to be more specific
>>> about the problem in further mails.
>>>
>>> On Thu, Oct 29, 2009 at 8:11 PM, Jon TURNEY<jon.turney@dronecode.org.uk>
>>> wrote:
>>>>
>>>> On 28/10/2009 05:57, Dees wrote:
>>>>>
>>>>> I have developed a Java application involving jTree with extensive
>>>>> drag and drop support, which runs correctly in my Linux box. However,
>>>>> when I switch to a windows box and access the same Linux box using
>>>>> cygwin x-server, the drag and drop in jTree stops working.
>>>>> Interestingly, rest of the application still works fine. After
>>>>> analyzing a bit I found that x-server is able to recognize the drag
>>>>> event but fails to recognize a drop event.
>>>>
>>>> Details?
>>>
>>> OS : Suse Linux Enterprise Server 10 (i586)
>>> Version : 10
>>> Patch level : 3
>>> Other version information:
>>> Java : JDK 5
>>> Cygwin setup-version: 2.573.2.3
>>> Also tried using Xming 6.9.0.31 ssh same Linux setup from Windows, but
>>> that also doesn't solve the problem.
>>>
>>>>
>>>>> Is there any setting, which should be done prior to running the Java
>>>>> swing applications?
>>>>>
>>>>> Here is a sample code which behaves in exactly same way.
>>>>> http://www.java2s.com/Code/Java/Swing-JFC/TreeDragandDrop.htm
>>>>
>>>> I have no idea how to use that java code to reproduce the problem you are
>>>> seeing.
>>>
>>> Using the above java code in Linux:
>>> 1. Download and Install Java Development Toolkit on your Linux box
>>> (Java sun download site:
>>> http://java.sun.com/javase/downloads/index.jsp), if you do not have it
>>> already.
>>> 2. Save the sample code in the above link with the file name
>>> TreeTester.java, say in /home/user/
>>> 3. Navigate to TreeTester.java from shell, and compile the java code:
>>> # cd /home/user/
>>> # /usr/java/jdk1.5.0_14/bin/javac TreeTester.java
>>> Ignore any warnings of deprecated APIs.
>>> 4. This will create a few .class files in /home/user/ directory. Final
>>> step is to run the Java code, using:
>>> # /usr/java/jdk1.5.0_14/bin/java -classpath . TreeTester
>>> This will open up a GUI, with a jTree each on left and right pane.
>>> You can drag and drop any of the leaf nodes from one jTree to the root
>>> node of the other jTree and this should add a new node in the other
>>> jTree. You will get messages on console for the operations being
>>> performed. Now ssh the same box using cygwin/xming from any other
>>> windows box, and run the application using command in step 4. You
>>> should be able to drag (a small icon will come under cursor indicating
>>> that something is being dragged) but when you will drop it, the new
>>> node would not be added to the tree. Thats where lies my problem!!!
>>
>> Thanks for the test case and instructions, this makes it much easier for me
>> to try it out.
>>
>> However, this testcase and your jar archive both work fine for me (using
>> Xserver 1.7.1-3)!
>>
>>>>> May be my problem is related to some setting. Though, not sure.
>>>>> Has anybody come across something similar? What should be done then?
>>>>> Please let me know.
>>>>
>>>> No it's probably a bug in Cygwin/X. But you're going to need to be a lot
>>>> more specific about the problem before any progress can be made on fixing
>>>> it.
>>
>>> Also, putting some debug messages in the code lets me conclude that
>>> it's the drop event which is not being recognized, as the main control
>>> never reaches there.
>>
>> There is not really any drop event, as far as the X server is concerned,
>> just mouse click and motion events, which are passed on to you application
>> (which has a framework to interpret them as dragging and dropping an item).
>>
>> Now having a better idea of the problem, it seems less likely it is an
>> Xserver bug at all. The only Xserver cause I can think of would be if it
>> was somehow not sending the correct events to your applications window,
>> which you could test using xev -id <your applications window id> (you can
>> use xwininfo to find the window id)
>>
> I have tried this, but could not get any idea if any event is going wrong.
> Here is the output of xev -id 0xe00021 (only for drag and drop event):
>
> LeaveNotify event, serial 13, synthetic NO, window 0xe00021,
> root 0x5a, subw 0xe00025, time 3560250, (87,65), root:(91,95),
> mode NotifyGrab, detail NotifyVirtual, same_screen YES,
> focus YES, state 256
>
> FocusOut event, serial 13, synthetic NO, window 0xe00021,
> mode NotifyGrab, detail NotifyAncestor
>
> EnterNotify event, serial 13, synthetic NO, window 0xe00021,
> root 0x5a, subw 0xe00025, time 3565375, (212,48), root:(216,78),
> mode NotifyUngrab, detail NotifyVirtual, same_screen YES,
> focus YES, state 0
>
> KeymapNotify event, serial 13, synthetic NO, window 0x0,
> keys: 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>
> FocusIn event, serial 13, synthetic NO, window 0xe00021,
> mode NotifyUngrab, detail NotifyAncestor
>
> KeymapNotify event, serial 13, synthetic NO, window 0x0,
> keys: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>
> LeaveNotify event, serial 13, synthetic NO, window 0xe00021,
> root 0x5a, subw 0xe00025, time 3569046, (205,211), root:(209,241),
> mode NotifyNormal, detail NotifyNonlinearVirtual, same_screen YES,
> focus YES, state 0
>
> Does the window 0x0 in two events in the log(above) signify anything
> misbehaving?
> Your reply is much awaited and appreciated.
>
>
>> --
>> Jon TURNEY
>> Volunteer Cygwin/X X Server maintainer
>>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/