Невозможно выполнить какой-либо жест над JButton (используя Leap Motion)

Я работаю с Jframes и jpanels, чтобы создать симулятор. Я использовал этот фрагмент кода для расчета положения точки в окне приложения:

Screen screen = controller.locatedScreens().get(0);

    int handsCount = frame.hands().count();
    if(handsCount == 1)
    {
        Hand hand = frame.hands().get(0);
        int fingerCount = hand.fingers().count();
        Point2D.Float normPt = calcScreenNorm(hand, screen);
        if (fingerCount == 1)   // one finger == move point
            doodle.movePoint(normPt);
    }

}

private Point2D.Float calcScreenNorm(Hand hand, Screen screen)


  /* The dot position is calculated using the screen position that the
     user's hand is pointing at, which is then normalized to an (x,y)
     value between -1 and 1, where (0,0) is the center of the screen.
  */

  {
    Vector palm = hand.palmPosition();
    Vector direction = hand.direction();
    Vector intersect = screen.intersect(palm, direction, true);
          // intersection is in screen coordinates

    // test for NaN (not-a-number) result of intersection
    if (Float.isNaN(intersect.getX()) || Float.isNaN(intersect.getY()))
      return null;

    float xNorm = (Math.min(1, Math.max(0, intersect.getX())) - 0.5f)*2;      // constrain to -1 -- 1
    float yNorm = (Math.min(1, Math.max(0, (1-intersect.getY()))) - 0.5f)*2; 

    return new Point2D.Float(xNorm, yNorm);
  }  // end of calcScreenNorm()
I have got the point (orange dot) on the application window and i have created a jbutton (black) on the panel too.

Теперь, когда я двигаю пальцем (и точка перемещается в окне), точка идет под кнопкой. Таким образом, я не могу применить свой жест касания экрана к кнопке.

Пожалуйста, помогите мне в этом отношении. Спасибо!

0 ответов

Другие вопросы по тегам