Example usage for javafx.scene Node setOnMouseClicked

List of usage examples for javafx.scene Node setOnMouseClicked

Introduction

In this page you can find the example usage for javafx.scene Node setOnMouseClicked.

Prototype

public final void setOnMouseClicked(EventHandler<? super MouseEvent> value) 

Source Link

Usage

From source file:View.Visualize.java

private void addColorChangeOnSeries(XYChart.Series series) {

    final ContextMenu contextMenu = new ContextMenu();
    MenuItem changeColor = new MenuItem("Change color");
    MenuItem delete = new MenuItem("Standard color");
    ColorPicker cp = new ColorPicker();
    changeColor.setGraphic(cp);//ww  w .  j  a va 2 s  .  c  om
    contextMenu.getItems().addAll(changeColor, delete);

    Node d = series.getNode();

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

        @Override
        public void handle(MouseEvent t) {
            if (t.getButton() == MouseButton.SECONDARY) {
                delete.setOnAction(new EventHandler() {
                    public void handle(Event t) {
                        if (series.getChart() instanceof StackedAreaChart) {
                            series.getChart().lookup(".default-color" + series.getNode().getUserData()
                                    + ".chart-series-area-fill").setStyle("");
                        }
                        if (series.getChart() instanceof LineChart) {
                            series.getChart().lookup(
                                    ".default-color" + series.getNode().getUserData() + ".chart-series-line")
                                    .setStyle("");
                        }
                    }

                });
                cp.setValue(null);
                cp.setOnAction(new EventHandler() {
                    public void handle(Event t) {
                        String hex1 = "#" + Integer.toHexString(cp.getValue().hashCode());

                        if (series.getChart() instanceof StackedAreaChart) {
                            series.getChart().lookup(".default-color" + series.getNode().getUserData()
                                    + ".chart-series-area-fill").setStyle("-fx-fill:" + hex1 + ";");
                        }
                        if (series.getChart() instanceof LineChart) {
                            series.getChart().lookup(
                                    ".default-color" + series.getNode().getUserData() + ".chart-series-line")
                                    .setStyle("-fx-stroke:" + hex1 + ";");
                        }

                    }
                });

                contextMenu.show(d, t.getScreenX(), t.getScreenY());
            }
        }

    });
}