private Node createExportActions() { final Button button = new Button("Export", GlyphRegistry.get(AwesomeIcon.CARET_DOWN)); button.getStyleClass().add("flat-button"); // create menu final ContextMenu contextMenu = new ContextMenu(); // csv chart MenuItem item = new MenuItem("Graph"); item.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { export(); } }); contextMenu.getItems().add(item); button.setOnMousePressed( new EventHandler<Event>() { @Override public void handle(Event event) { contextMenu.show(button, Side.BOTTOM, 0, 0); } }); return button; }
private Node createAxisOptions() { final Button btn = new Button("Axis", GlyphRegistry.get(AwesomeIcon.CARET_DOWN)); btn.getStyleClass().add("flat-button"); final ContextMenu menu = new ContextMenu(); btn.setOnMousePressed( new EventHandler<Event>() { @Override public void handle(Event event) { menu.show(btn, Side.BOTTOM, 0, 0); } }); MenuItem item = new MenuItem("Y linear", GlyphRegistry.get(AwesomeIcon.CHECK)); item.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { _chart.axisMode().set(CyclistAxis.Mode.LINEAR); } }); item.getGraphic() .visibleProperty() .bind(Bindings.equal(_chart.axisMode(), CyclistAxis.Mode.LINEAR)); menu.getItems().add(item); item = new MenuItem("Y log", GlyphRegistry.get(AwesomeIcon.CHECK)); item.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { _chart.axisMode().set(CyclistAxis.Mode.LOG); } }); item.getGraphic() .visibleProperty() .bind(Bindings.equal(_chart.axisMode(), CyclistAxis.Mode.LOG)); item.disableProperty().bind(Bindings.equal(_chart.getMode(), InventoryChart.ChartMode.STACKED)); menu.getItems().add(item); item = new MenuItem("Y force zero", GlyphRegistry.get(AwesomeIcon.CHECK)); item.getGraphic().visibleProperty().bind(_chart.forceZero()); item.disableProperty().bind(Bindings.equal(_chart.getMode(), InventoryChart.ChartMode.STACKED)); menu.getItems().add(item); item.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { _chart.forceZero().set(!_chart.forceZero().get()); } }); return btn; }
private Node createModeActions() { final Button button = new Button("Options", GlyphRegistry.get(AwesomeIcon.CARET_DOWN)); button.getStyleClass().add("flat-button"); // create menu final ContextMenu contextMenu = new ContextMenu(); // line chart MenuItem item = new MenuItem("Line chart", GlyphRegistry.get(AwesomeIcon.CHECK)); item.getGraphic() .visibleProperty() .bind(Bindings.equal(_chart.getMode(), InventoryChart.ChartMode.LINE)); item.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { _chart.setMode(InventoryChart.ChartMode.LINE); if (!_lastForceZero) _chart.forceZero().set(false); if (_saveAxisMode == CyclistAxis.Mode.LOG) _chart.axisMode().set(CyclistAxis.Mode.LOG); } }); contextMenu.getItems().add(item); // // area chart // item = new MenuItem("Area chart"); // item.setOnAction(new EventHandler<ActionEvent>() { // @Override // public void handle(ActionEvent event) { // _chart.setMode(InventoryChart.ChartMode.AREA); // } // }); // contextMenu.getItems().add(item); // stacked chart item = new MenuItem("Stacked chart", GlyphRegistry.get(AwesomeIcon.CHECK)); item.getGraphic() .visibleProperty() .bind(Bindings.equal(_chart.getMode(), InventoryChart.ChartMode.STACKED)); item.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { _lastForceZero = _chart.forceZero().get(); if (!_lastForceZero) _chart.forceZero().set(true); _saveAxisMode = _chart.axisMode().get(); _chart.setMode(InventoryChart.ChartMode.STACKED); } }); contextMenu.getItems().add(item); contextMenu.getItems().add(new SeparatorMenuItem()); MenuItem checked = new MenuItem("Show total", GlyphRegistry.get(AwesomeIcon.CHECK)); checked.getGraphic().visibleProperty().bind(_chart.getShowTotal()); checked.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { _chart.setShowTotal(!_chart.getShowTotal().getValue()); } }); contextMenu.getItems().add(checked); button.setOnMousePressed( new EventHandler<Event>() { @Override public void handle(Event event) { contextMenu.show(button, Side.BOTTOM, 0, 0); } }); return button; }
@Override public void initialize(URL location, ResourceBundle resources) { Circle cuser = new Circle(10, Color.DODGERBLUE); Circle cpass = new Circle(10, Color.DODGERBLUE); cuser.setOpacity(0); cpass.setOpacity(0); ButtonSkin users = new ButtonSkin(login); users.getChildren().add(0, cuser); login.setSkin(users); ButtonSkin passs = new ButtonSkin(hify); passs.getChildren().add(0, cpass); hify.setSkin(passs); login.setOnMousePressed( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { // .println("pressed"); cuser.setOpacity(0.5); cuser.setRadius(10); cuser.setCenterX(event.getX()); cuser.setCenterY(event.getY()); Rectangle r = new Rectangle(); r.setArcHeight( login.getBackground().getFills().get(0).getRadii().getTopLeftVerticalRadius()); r.setArcWidth( login.getBackground().getFills().get(0).getRadii().getTopLeftHorizontalRadius()); // .println(login.getPrefWidth()+" "+login.getPrefHeight()); r.setWidth(login.getPrefWidth()); r.setHeight(login.getPrefHeight()); cuser.setClip(r); Timeline tl = new Timeline(); KeyValue kv = new KeyValue( cuser.radiusProperty(), 1.5 * login.getPrefWidth(), Interpolator.EASE_OUT); KeyFrame kf = new KeyFrame(Duration.millis(1500), kv); tl.getKeyFrames().clear(); tl.getKeyFrames().add(kf); tl.play(); await.countDown(); } }); login.setOnMouseReleased( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { try { await.await(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } awaitu.countDown(); FadeTransition fd = new FadeTransition(Duration.millis(1500), cuser); fd.setFromValue(0.5); fd.setToValue(0); fd.setInterpolator(Interpolator.EASE_OUT); fd.play(); } }); hify.setOnMousePressed( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { // .println("pressed"); cpass.setOpacity(0.5); cpass.setRadius(10); cpass.setCenterX(event.getX()); cpass.setCenterY(event.getY()); Rectangle r = new Rectangle(); r.setArcHeight( hify.getBackground().getFills().get(0).getRadii().getTopLeftVerticalRadius()); r.setArcWidth( hify.getBackground().getFills().get(0).getRadii().getTopLeftHorizontalRadius()); r.setWidth(hify.getPrefWidth()); r.setHeight(hify.getPrefHeight()); cpass.setClip(r); Timeline tl = new Timeline(); KeyValue kv = new KeyValue( cpass.radiusProperty(), 1.5 * hify.getPrefWidth(), Interpolator.EASE_OUT); KeyFrame kf = new KeyFrame(Duration.millis(1500), kv); tl.getKeyFrames().clear(); tl.getKeyFrames().add(kf); tl.play(); awaitp.countDown(); } }); hify.setOnMouseReleased( new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent event) { try { awaitp.await(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } awaitpa.countDown(); FadeTransition fd = new FadeTransition(Duration.millis(1500), cpass); fd.setFromValue(0.5); fd.setToValue(0); fd.setInterpolator(Interpolator.EASE_OUT); fd.play(); } }); user.focusedProperty() .addListener( new ChangeListener<Boolean>() { @Override public void changed( ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { TranslateTransition fd = new TranslateTransition(Duration.millis(500), userlabel); FadeTransition ff = new FadeTransition(Duration.millis(500), userlabel); fd.setInterpolator(Interpolator.EASE_BOTH); ff.setInterpolator(Interpolator.EASE_BOTH); ff.setToValue(1.0); ff.setFromValue(0.0); fd.setByY(-3); ParallelTransition pt = new ParallelTransition(); pt.getChildren().addAll(fd, ff); pt.play(); } else { userlabel.setTranslateY(3); userlabel.setOpacity(0); } } }); pass.focusedProperty() .addListener( new ChangeListener<Boolean>() { @Override public void changed( ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { TranslateTransition fd = new TranslateTransition(Duration.millis(500), passlabel); FadeTransition ff = new FadeTransition(Duration.millis(500), passlabel); fd.setInterpolator(Interpolator.EASE_BOTH); ff.setInterpolator(Interpolator.EASE_BOTH); ff.setToValue(1.0); ff.setFromValue(0.0); fd.setByY(-3); ParallelTransition pt = new ParallelTransition(); pt.getChildren().addAll(fd, ff); pt.play(); } else { passlabel.setTranslateY(3); passlabel.setOpacity(0); } } }); p1.setEffect(new DropShadow()); }