← Back to team overview

sikuli-driver team mailing list archive

[Bug 1262394] Re: Java dragDrop not working

 

------- Libray issue: SOLVED.
one more thing: you should repeat the setup and select options 1 and 3.
3 gives you a much smaller sikuli-java.jar, that is intended to be used in pure Java programming or Jython programming with a standalone Jython or in other IDEs.

------- Further details - JAVA VERSION?
I am running with jdk1.7.0_45.jdk too.
If you want to have a look at your Java's you have, in a Terminal:
/usr/libexec/java_home -V
lists all available Java installations on your machine

Depending on how you installed Netbeans (latest version 7.4 ?), you
might run different Java inside Netbeans.

Another thing: you should set your source version to 1.6 (I am
developing with Java 7, but found out, that this setting makes it more
compatible)

-- mouse not working
I made some more tests and found out, that the only necessary wait (0.5 was sufficient) is between the click and mouseDown. dragDrop does not need such a wait, because this is done internally before mouseDown.
All mouse actions should work in IDE and in Java on every normal Mac app.

Since I cannot check your app here, I guess it is a special problem with
it up to the possibility, that it blocks mouse actions coming from a JVM
(which in the past some people experienced especially with games).

-- 
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1262394

Title:
  Java dragDrop not working

Status in Sikuli:
  New

Bug description:
  Sikuli version: 1.0.1 (released 2013-08-12)
  Operative System: Mac OS X 10.7.5 (64bit)

  Hi, i have developed an automatic farming tool for a game named
  "Battle Nations". I have been using the Sikuli IDE, but recently, i
  have switched to Java, because I am a Java developer, and I wanted to
  add more complexity to my project.

  The problem is that the dragDrop function is not working, within the BattleNations window and MORE IMPORTANTLY within any Finder window.
  I tried two different approaches to achieve the drag n'drop:

  1) Using dragDrop (the click is used to ensure the focus on the
  window).

       Screen theScreen = new Screen();
       theScreen.wait(3.5);
       theScreen.click(theScreen.getCenter());
       theScreen.dragDrop(theScreen.getCenter(), theScreen.getCenter().offset(0, -100));

  2) Using mouse events

       theScreen.wait(3.5);
       theScreen.click(theScreen.getCenter());
       theScreen.mouseDown(Button.LEFT);
       theScreen.wait(0.5);
       theScreen.hover(theScreen.getCenter().offset(0, -100));
       theScreen.wait(0.5);
       theScreen.mouseUp(Button.LEFT);

  Both approaches work on any window (browsers, NetBeans itself) without
  any problem. But when it comes to my BattleNations window, or the a
  Finder window, the drag is not performed: the mose moves correctly
  from a location to the other. But nothing changes in the user
  interface (as if the mouse is not pressed anymore).

  The funny thing is that the dragDrop works perfectly using the Sikuli IDE, even with BattleNations!
  Can someone help?

  I also read the bug report at 
  https://bugs.launchpad.net/sikuli/+bug/886632
  but it did not solve my problem.

To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1262394/+subscriptions


References