This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 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]

Re: Running Java application with drag and drop support in cygwin


People, any clue? Struggling really hard.

On Fri, Dec 18, 2009 at 11:23 AM, Dees <deepali.shefali@gmail.com> wrote:
> 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/


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