JavaFX - LineTo上的监听器

时间:2013-12-01 12:28:55

标签: javafx-2 javafx listener

我有......像:

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);

现在我想在我画的线上添加一个监听器 - 我想到了两种可能性:

首先:我可以以某种方式添加一个侦听器到lineTo

第二:我可以以某种方式添加一个监听器到线区域(一个Hitbox从(390,165)到(235,130),宽度为5px)

你能告诉我怎么做吗?我是JavaFX的新手,我不知道。 最后,应该可以点击一行来改变颜色。

1 个答案:

答案 0 :(得分:2)

LineTo只是一个逻辑元素。实际的图形实体是Path,可以通过监听器进行增强:

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

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