2013-12-01 2 views
1

У меня есть sth. как:JavaFX - Listener on LineTo

Path path= new Path(); 

MoveTo moveTo = new MoveTo(); 
moveTo.setX(390); 
moveTo.setY(165); 

LineTo lineTo = new LineTo(); 
lineTo.setX(235); 
lineTo.setY(130); 

path.getElements().add(moveTo); 
path.getElements().add(lineTo); 
path.setStrokeWidth(5); 
path.setStroke(Color.BLACK); 

field.getChildren().add(path); 

Теперь я хочу добавить прослушиватель к линии я нарисовал - я думал о 2 возможности:

первый: Я могу добавить как-то слушатель с LineTo

второй: я могу добавьте как-то прослушиватель в область линии (Hitbox от (390,165) до (235,130) с шириной 5 пикселей)

Можете ли вы рассказать мне, как я мог это сделать? Я новичок в JavaFX, и я понятия не имел. В конце концов, вы должны щелкнуть по строке, чтобы изменить цвет.

ответ

2

LineTo - это только логический элемент. Фактический графический объект является Path, которые могут быть улучшены с помощью слушателей:

path.setOnMouseClicked(new EventHandler<MouseEvent>() { 

     @Override 
     public void handle(MouseEvent t) { 
      path.setStroke(Color.RED); 
     } 
    }); 
+0

спасибо - почти, кажется, работает - но я все еще есть один вопрос: Как я могу получить доступ к пути во внутреннем классе, когда он не является окончательным? Или я не могу это сделать? – baxbear

+1

ой - уже решил – baxbear

 Смежные вопросы

  • Нет связанных вопросов^_^