diff --git a/apps/samples/Ensemble8/nbproject/project.properties b/apps/samples/Ensemble8/nbproject/project.properties --- a/apps/samples/Ensemble8/nbproject/project.properties +++ b/apps/samples/Ensemble8/nbproject/project.properties @@ -45,8 +45,8 @@ javac.deprecation=false javac.processorpath=\ ${javac.classpath} -javac.source=1.7 -javac.target=1.7 +javac.source=1.8 +javac.target=1.8 javac.test.classpath=\ ${javac.classpath}:\ ${build.classes.dir} diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/DocsPage.java b/apps/samples/Ensemble8/src/app/java/ensemble/DocsPage.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/DocsPage.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/DocsPage.java @@ -134,10 +134,8 @@ sampleButton.getStyleClass().setAll("sample-button"); sampleButton.setGraphic(sample.getMediumPreview()); sampleButton.setContentDisplay(ContentDisplay.TOP); - sampleButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent actionEvent) { - pageBrowser.goToSample(sample); - } + sampleButton.setOnAction((ActionEvent actionEvent) -> { + pageBrowser.goToSample(sample); }); sideBar.getChildren().add(sampleButton); } diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java b/apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/EnsembleApp.java @@ -195,22 +195,16 @@ root.getChildren().add(0, pageBrowser); pageBrowser.goHome(); // wire nav buttons - backButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent event) { - pageBrowser.backward(); - } + backButton.setOnAction((ActionEvent event) -> { + pageBrowser.backward(); }); backButton.disableProperty().bind(pageBrowser.backPossibleProperty().not()); - forwardButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent event) { - pageBrowser.forward(); - } + forwardButton.setOnAction((ActionEvent event) -> { + pageBrowser.forward(); }); forwardButton.disableProperty().bind(pageBrowser.forwardPossibleProperty().not()); - homeButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent event) { - pageBrowser.goHome(); - } + homeButton.setOnAction((ActionEvent event) -> { + pageBrowser.goHome(); }); homeButton.disableProperty().bind(pageBrowser.atHomeProperty()); @@ -219,19 +213,15 @@ sampleListPopover.setPrefWidth(440); root.getChildren().add(sampleListPopover); final SamplePopoverTreeList rootPage = new SamplePopoverTreeList(Samples.ROOT,pageBrowser); - listButton.setOnMouseClicked(new EventHandler() { - @Override public void handle(MouseEvent e) { - if (sampleListPopover.isVisible()) { - sampleListPopover.hide(); - } else { - sampleListPopover.clearPages(); - sampleListPopover.pushPage(rootPage); - sampleListPopover.show(new Runnable() { - @Override public void run() { - listButton.setSelected(false); - } - }); - } + listButton.setOnMouseClicked((MouseEvent e) -> { + if (sampleListPopover.isVisible()) { + sampleListPopover.hide(); + } else { + sampleListPopover.clearPages(); + sampleListPopover.pushPage(rootPage); + sampleListPopover.show(() -> { + listButton.setSelected(false); + }); } }); @@ -268,11 +258,8 @@ } else { sampleListPopover.clearPages(); sampleListPopover.pushPage(rootPage); - sampleListPopover.show(new Runnable() { - @Override - public void run() { - listButton.setSelected(false); - } + sampleListPopover.show(() -> { + listButton.setSelected(false); }); } event.consume(); @@ -289,31 +276,29 @@ private RadioMenuItem screenSizeMenuItem(String text, final int width, final int height, final boolean retina, ToggleGroup tg) { RadioMenuItem radioMenuItem = new RadioMenuItem(text + " " + width + "x" + height); radioMenuItem.setToggleGroup(tg); - radioMenuItem.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent t) { - double menuHeight = IS_IOS || IS_MAC || IS_ANDROID ? 0 : menuBar.prefHeight(width); - scene.getWindow().setWidth(width + scene.getWindow().getWidth() - scene.getWidth()); - scene.getWindow().setHeight(height + menuHeight + scene.getWindow().getHeight() - scene.getHeight()); - if (retina) { - Parent root = scene.getRoot(); - if (root instanceof Pane) { - Group newRoot = new Group(); - newRoot.setAutoSizeChildren(false); - scene.setRoot(newRoot); - newRoot.getChildren().add(root); - root.getTransforms().add(new Scale(2, 2, 0, 0)); - root.resize(width/2, height/2); - } else { - root.getChildrenUnmodifiable().get(0).resize(width/2, height/2); - } + radioMenuItem.setOnAction((ActionEvent t) -> { + double menuHeight = IS_IOS || IS_MAC || IS_ANDROID ? 0 : menuBar.prefHeight(width); + scene.getWindow().setWidth(width + scene.getWindow().getWidth() - scene.getWidth()); + scene.getWindow().setHeight(height + menuHeight + scene.getWindow().getHeight() - scene.getHeight()); + if (retina) { + Parent root = scene.getRoot(); + if (root instanceof Pane) { + Group newRoot = new Group(); + newRoot.setAutoSizeChildren(false); + scene.setRoot(newRoot); + newRoot.getChildren().add(root); + root.getTransforms().add(new Scale(2, 2, 0, 0)); + root.resize(width/2, height/2); } else { - Parent root = scene.getRoot(); - if (root instanceof Group) { - Pane oldRoot = (Pane)root.getChildrenUnmodifiable().get(0); - ((Group)root).getChildren().clear(); - oldRoot.getTransforms().clear(); - scene.setRoot(oldRoot); - } + root.getChildrenUnmodifiable().get(0).resize(width/2, height/2); + } + } else { + Parent root = scene.getRoot(); + if (root instanceof Group) { + Pane oldRoot = (Pane)root.getChildrenUnmodifiable().get(0); + ((Group)root).getChildren().clear(); + oldRoot.getTransforms().clear(); + scene.setRoot(oldRoot); } } }); @@ -323,36 +308,26 @@ private void setStylesheets() { final String EXTERNAL_STYLESHEET = "http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600"; scene.getStylesheets().setAll("/ensemble/EnsembleStylesCommon.css"); - Thread backgroundThread = new Thread(new Runnable() { - - @Override - public void run() { - try { - URL url = new URL(EXTERNAL_STYLESHEET); - try ( - ReadableByteChannel rbc = Channels.newChannel(url.openStream()); - Reader newReader = Channels.newReader(rbc, "ISO-8859-1"); - BufferedReader bufferedReader = new BufferedReader(newReader) - ) { - // Checking whether we can read a line from this url - // without exception - bufferedReader.readLine(); - } - Platform.runLater(new Runnable() { - - @Override - public void run() { - - // when succeeded add this stylesheet to the scene - scene.getStylesheets().add(EXTERNAL_STYLESHEET); - } - }); - } catch (MalformedURLException ex) { - Logger.getLogger(EnsembleApp.class.getName()).log(Level.FINE, "Failed to load external stylesheet", ex); - } catch (IOException ex) { + Thread backgroundThread = new Thread(() -> { + try { + URL url = new URL(EXTERNAL_STYLESHEET); + try ( + ReadableByteChannel rbc = Channels.newChannel(url.openStream()); + Reader newReader = Channels.newReader(rbc, "ISO-8859-1"); + BufferedReader bufferedReader = new BufferedReader(newReader) + ) { + // Checking whether we can read a line from this url + // without exception + bufferedReader.readLine(); + } + Platform.runLater(() -> { + scene.getStylesheets().add(EXTERNAL_STYLESHEET); + }); + }catch (MalformedURLException ex) { + Logger.getLogger(EnsembleApp.class.getName()).log(Level.FINE, "Failed to load external stylesheet", ex); + }catch (IOException ex) { Logger.getLogger(EnsembleApp.class.getName()).log(Level.FINE, "Failed to load external stylesheet", ex); } - } }, "Trying to reach external styleshet"); backgroundThread.setDaemon(true); backgroundThread.start(); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/HomePage.java b/apps/samples/Ensemble8/src/app/java/ensemble/HomePage.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/HomePage.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/HomePage.java @@ -271,11 +271,8 @@ sampleButton.setContentDisplay(ContentDisplay.TOP); sampleButton.setText(sample.name); sampleButton.setGraphic(sample.getMediumPreview()); - sampleButton.setOnAction(new EventHandler() { - - @Override public void handle(ActionEvent actionEvent) { - pageBrowser.goToSample(sample); - } + sampleButton.setOnAction((ActionEvent actionEvent) -> { + pageBrowser.goToSample(sample); }); buttonCache.put(sample, sampleButton); } @@ -300,11 +297,8 @@ sampleButton.getStyleClass().setAll("sample-button"); sampleButton.setGraphic(Samples.HIGHLIGHTS[highlightIndex].getLargePreview()); sampleButton.setContentDisplay(ContentDisplay.GRAPHIC_ONLY); - sampleButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent actionEvent) { -// System.out.println("Clicked " + Samples.HIGHLIGHTS[highlightIndex].name); - pageBrowser.goToSample(Samples.HIGHLIGHTS[highlightIndex]); - } + sampleButton.setOnAction((ActionEvent actionEvent) -> { + pageBrowser.goToSample(Samples.HIGHLIGHTS[highlightIndex]); }); return sampleButton; } diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/SampleInfo.java b/apps/samples/Ensemble8/src/app/java/ensemble/SampleInfo.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/SampleInfo.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/SampleInfo.java @@ -205,19 +205,16 @@ final Method fPlay = play; final Method fStop = stop; - root.sceneProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue ov, Scene oldScene, Scene newScene) { - try { - if (oldScene != null && fStop != null) { - fStop.invoke(app); - } - if (newScene != null && fPlay != null) { - fPlay.invoke(app); - } - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { - Logger.getLogger(SamplePage.class.getName()).log(Level.SEVERE, null, ex); + root.sceneProperty().addListener((ObservableValue ov, Scene oldScene, Scene newScene) -> { + try { + if (oldScene != null && fStop != null) { + fStop.invoke(app); } + if (newScene != null && fPlay != null) { + fPlay.invoke(app); + } + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + Logger.getLogger(SamplePage.class.getName()).log(Level.SEVERE, null, ex); } }); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/SearchPopover.java b/apps/samples/Ensemble8/src/app/java/ensemble/SearchPopover.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/SearchPopover.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/SearchPopover.java @@ -72,39 +72,33 @@ getStyleClass().add("right-tooth"); setPrefWidth(600); - searchBox.textProperty().addListener(new ChangeListener() { - @Override public void changed(ObservableValue ov, String t, String t1) { - updateResults(); - } + searchBox.textProperty().addListener((ObservableValue ov, String t, String t1) -> { + updateResults(); }); - searchBox.addEventFilter(KeyEvent.ANY, new EventHandler() { - @Override public void handle(KeyEvent t) { - if (t.getCode() == KeyCode.DOWN - || t.getCode() == KeyCode.UP - || t.getCode() == KeyCode.PAGE_DOWN - || (t.getCode() == KeyCode.HOME && (t.isControlDown() || t.isMetaDown())) - || (t.getCode() == KeyCode.END && (t.isControlDown() || t.isMetaDown())) - || t.getCode() == KeyCode.PAGE_UP) { - searchResultPopoverList.fireEvent(t); - t.consume(); - } else if (t.getCode() == KeyCode.ENTER) { - t.consume(); - if (t.getEventType() == KeyEvent.KEY_PRESSED) { - SearchResult selectedItem = searchResultPopoverList.getSelectionModel().getSelectedItem(); - if (selectedItem != null) searchResultPopoverList.itemClicked(selectedItem); - } + searchBox.addEventFilter(KeyEvent.ANY, (KeyEvent t) -> { + if (t.getCode() == KeyCode.DOWN + || t.getCode() == KeyCode.UP + || t.getCode() == KeyCode.PAGE_DOWN + || (t.getCode() == KeyCode.HOME && (t.isControlDown() || t.isMetaDown())) + || (t.getCode() == KeyCode.END && (t.isControlDown() || t.isMetaDown())) + || t.getCode() == KeyCode.PAGE_UP) { + searchResultPopoverList.fireEvent(t); + t.consume(); + } else if (t.getCode() == KeyCode.ENTER) { + t.consume(); + if (t.getEventType() == KeyEvent.KEY_PRESSED) { + SearchResult selectedItem = searchResultPopoverList.getSelectionModel().getSelectedItem(); + if (selectedItem != null) searchResultPopoverList.itemClicked(selectedItem); } } }); searchResultPopoverList = new SearchResultPopoverList(pageBrowser); // if list gets focus then send back to search box - searchResultPopoverList.focusedProperty().addListener(new ChangeListener() { - @Override public void changed(ObservableValue ov, Boolean t, Boolean hasFocus) { - if (hasFocus) { - searchBox.requestFocus(); - searchBox.selectPositionCaret(searchBox.getText().length()); - } + searchResultPopoverList.focusedProperty().addListener((ObservableValue ov, Boolean t, Boolean hasFocus) -> { + if (hasFocus) { + searchBox.requestFocus(); + searchBox.selectPositionCaret(searchBox.getText().length()); } }); } @@ -154,16 +148,10 @@ searchErrorTooltip.show( searchBox.getScene().getWindow(),x, y); searchErrorTooltipHidder = new Timeline(); searchErrorTooltipHidder.getKeyFrames().add( - new KeyFrame(Duration.seconds(3), - new EventHandler() { - - @Override - public void handle(ActionEvent t) { - searchErrorTooltip.hide(); - searchErrorTooltip.setText(null); - } - } - ) + new KeyFrame(Duration.seconds(3), (ActionEvent t) -> { + searchErrorTooltip.hide(); + searchErrorTooltip.setText(null); + }) ); searchErrorTooltipHidder.play(); } else { diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/SearchResultPopoverList.java b/apps/samples/Ensemble8/src/app/java/ensemble/SearchResultPopoverList.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/SearchResultPopoverList.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/SearchResultPopoverList.java @@ -206,11 +206,7 @@ for (SearchResultListCell cell: allCells) { if (cell.isVisible()) visibleCells.add(cell); } - Collections.sort(visibleCells, new Comparator() { - @Override public int compare(Node o1, Node o2) { - return Double.compare(o1.getLayoutY(), o2.getLayoutY()); - } - }); + Collections.sort(visibleCells, (Node o1, Node o2) -> Double.compare(o1.getLayoutY(), o2.getLayoutY())); samplesIcon.setLayoutX(8); samplesIcon.resize(24, 24); @@ -306,24 +302,20 @@ // many times for any change of cell layout in the list but that // dosn't matter as they will all be batched up by layout machanisim // and iconPane.layoutChildren() will only be called once per frame. - final ChangeListener boundsChangeListener = new ChangeListener() { - @Override public void changed(ObservableValue ov, Bounds t, Bounds t1) { - iconPane.requestLayout(); + final ChangeListener boundsChangeListener = (ObservableValue ov, Bounds t, Bounds t1) -> { + iconPane.requestLayout(); + }; + parentProperty().addListener((ObservableValue ov, Parent oldParent, Parent newParent) -> { + if(oldParent != null) { + oldParent.layoutBoundsProperty().removeListener(boundsChangeListener); } - }; - parentProperty().addListener(new ChangeListener() { - @Override public void changed(ObservableValue ov, Parent oldParent, Parent newParent) { - if(oldParent != null) { - oldParent.layoutBoundsProperty().removeListener(boundsChangeListener); - } - if (newParent != null && newParent.isVisible()) { - iconPane.allCells.add(SearchResultListCell.this); - newParent.layoutBoundsProperty().addListener(boundsChangeListener); - } else { - iconPane.allCells.remove(SearchResultListCell.this); - } - iconPane.requestLayout(); + if (newParent != null && newParent.isVisible()) { + iconPane.allCells.add(SearchResultListCell.this); + newParent.layoutBoundsProperty().addListener(boundsChangeListener); + } else { + iconPane.allCells.remove(SearchResultListCell.this); } + iconPane.requestLayout(); }); } diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/control/BendingPages.java b/apps/samples/Ensemble8/src/app/java/ensemble/control/BendingPages.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/control/BendingPages.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/control/BendingPages.java @@ -187,120 +187,83 @@ public BendingPages() { getChildren().setAll(backPage.get(), frontPage.get(), frontPageBack, shadow); - backPage.addListener(new ChangeListener() { - - @Override - public void changed(ObservableValue arg0, Node arg1, Node arg2) { - getChildren().set(0, arg2); + backPage.addListener((ObservableValue arg0, Node arg1, Node arg2) -> { + getChildren().set(0, arg2); + }); + + frontPage.addListener((ObservableValue arg0, Node oldPage, Node newPage) -> { + if (bookBend != null) { + bookBend.detach(); + } + getChildren().set(1, newPage); + bookBend = new BookBend(newPage, frontPageBack, shadow); + setTarget(); + }); + + addEventFilter(MouseEvent.MOUSE_MOVED, (MouseEvent me) -> { + if (withinGrip(me)) { + animState = FOLLOWING_MOVING_MOUSE; + setTarget(me); + update(); + } else if (animState == FOLLOWING_MOVING_MOUSE) { + endFollowingMouse(); } }); - frontPage.addListener(new ChangeListener() { - - @Override - public void changed(ObservableValue arg0, Node oldPage, Node newPage) { - if (bookBend != null) { - bookBend.detach(); - } - getChildren().set(1, newPage); - bookBend = new BookBend(newPage, frontPageBack, shadow); - setTarget(); + setOnMousePressed((MouseEvent me) -> { + if (withinGrip(me)) { + animState = FOLLOWING_DRAGGING_MOUSE; + me.consume(); + } else if (withinPath(me)) { + animState = FOLLOWING_DRAGGING_MOUSE; + me.consume(); } }); - addEventFilter(MouseEvent.MOUSE_MOVED, new EventHandler() { - - @Override - public void handle(MouseEvent me) { - if (withinGrip(me)) { - animState = FOLLOWING_MOVING_MOUSE; - setTarget(me); - update(); - } else if (animState == FOLLOWING_MOVING_MOUSE) { - endFollowingMouse(); - } + setOnMouseDragged((MouseEvent me) -> { + if (animState == FOLLOWING_DRAGGING_MOUSE) { + setTarget(me); + deltaX = targetX - bookBend.getTargetX(); + deltaY = targetY - bookBend.getTargetY(); + update(); + me.consume(); } }); - setOnMousePressed(new EventHandler() { - - @Override - public void handle(MouseEvent me) { - if (withinGrip(me)) { - animState = FOLLOWING_DRAGGING_MOUSE; - me.consume(); - } else if (withinPath(me)) { - animState = FOLLOWING_DRAGGING_MOUSE; - me.consume(); - } - } - - }); - - setOnMouseDragged(new EventHandler() { - - @Override - public void handle(MouseEvent me) { - if (animState == FOLLOWING_DRAGGING_MOUSE) { - setTarget(me); - deltaX = targetX - bookBend.getTargetX(); - deltaY = targetY - bookBend.getTargetY(); - update(); - me.consume(); - } + setOnMouseExited((MouseEvent me) -> { + if (animState == FOLLOWING_MOVING_MOUSE) { + endFollowingMouse(); + me.consume(); } }); - setOnMouseExited(new EventHandler() { - - @Override - public void handle(MouseEvent me) { - if (animState == FOLLOWING_MOVING_MOUSE) { - endFollowingMouse(); - me.consume(); - } + setOnMouseReleased((MouseEvent me) -> { + if (animState == FOLLOWING_DRAGGING_MOUSE && !me.isStillSincePress()) { + endFollowingMouse(); + me.consume(); } }); - setOnMouseReleased(new EventHandler() { - - @Override - public void handle(MouseEvent me) { - if (animState == FOLLOWING_DRAGGING_MOUSE && !me.isStillSincePress()) { - endFollowingMouse(); - me.consume(); + setOnMouseClicked((MouseEvent me) -> { + if (me.isStillSincePress() && (withinGrip(me) || withinPath(me))) { + if (state == OPENED) { + state = CLOSED; + } else { + state = OPENED; } + setTarget(); + animateTo(); + me.consume(); } }); - setOnMouseClicked(new EventHandler() { - - @Override - public void handle(MouseEvent me) { - if (me.isStillSincePress() && (withinGrip(me) || withinPath(me))) { - if (state == OPENED) { - state = CLOSED; - } else { - state = OPENED; - } - setTarget(); - animateTo(); - me.consume(); - } - } - }); - - layoutBoundsProperty().addListener(new ChangeListener() { - - @Override - public void changed(ObservableValue arg0, Bounds arg1, Bounds arg2) { - if (state == State.CLOSED) { - setTarget(); - bookBend.update(targetX, targetY); - } else if (state == State.OPENED) { - setTarget(); - bookBend.update(targetX, targetY); - } + layoutBoundsProperty().addListener((ObservableValue arg0, Bounds arg1, Bounds arg2) -> { + if (state == State.CLOSED) { + setTarget(); + bookBend.update(targetX, targetY); + } else if (state == State.OPENED) { + setTarget(); + bookBend.update(targetX, targetY); } }); } @@ -366,21 +329,13 @@ animation.stop(); } DoubleProperty t = new SimpleDoubleProperty(); - t.addListener(new ChangeListener() { - - @Override - public void changed(ObservableValue arg0, Number arg1, Number t) { - bookBend.update(fx + (targetX - fx) * t.doubleValue(), fy + (targetY - fy) * t.doubleValue()); - } + t.addListener((ObservableValue arg0, Number arg1, Number t1) -> { + bookBend.update(fx + (targetX - fx) * t1.doubleValue(), fy + (targetY - fy) * t1.doubleValue()); }); animation = TimelineBuilder.create() - .keyFrames(new KeyFrame(Duration.millis(200), new EventHandler() { - - @Override - public void handle(ActionEvent arg0) { - animState = NO_ANIMATION; - } - }, + .keyFrames(new KeyFrame(Duration.millis(200), (ActionEvent arg0) -> { + animState = NO_ANIMATION; + }, new KeyValue(t, 1, Interpolator.EASE_OUT))) .build(); animation.play(); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/control/BookBend.java b/apps/samples/Ensemble8/src/app/java/ensemble/control/BookBend.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/control/BookBend.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/control/BookBend.java @@ -115,24 +115,16 @@ this.clip = clip; node.setEffect(new DisplacementMap(map)); - node.layoutBoundsProperty().addListener(new InvalidationListener() { - - @Override - public void invalidated(Observable arg0) { - newWidth = (int) Math.round(node.getLayoutBounds().getWidth()); - newHeight = (int) Math.round(node.getLayoutBounds().getHeight()); - if (newWidth != map.getWidth() || newHeight != map.getHeight()) { - setUpdateNeeded(true); - } + node.layoutBoundsProperty().addListener((Observable arg0) -> { + newWidth = (int) Math.round(node.getLayoutBounds().getWidth()); + newHeight = (int) Math.round(node.getLayoutBounds().getHeight()); + if (newWidth != map.getWidth() || newHeight != map.getHeight()) { + setUpdateNeeded(true); } }); - node.sceneProperty().addListener(new ChangeListener() { - - @Override - public void changed(ObservableValue ov, Scene oldValue, Scene newValue) { - if(newValue == null){ - stopAnimationTimer(); - } + node.sceneProperty().addListener((ObservableValue ov, Scene oldValue, Scene newValue) -> { + if(newValue == null){ + stopAnimationTimer(); } }); newWidth = (int) Math.round(node.getLayoutBounds().getWidth()); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/control/Popover.java b/apps/samples/Ensemble8/src/app/java/ensemble/control/Popover.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/control/Popover.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/control/Popover.java @@ -127,15 +127,12 @@ setScaleX(.8); setScaleY(.8); // create handlers for auto hiding - popoverHideHandler = new EventHandler() { - @Override public void handle(MouseEvent t) { - // check if event is outside popup - Point2D mouseInFilterPane = sceneToLocal(t.getX(), t.getY()); - if (mouseInFilterPane.getX() < 0 || mouseInFilterPane.getX() > (getWidth()) || + popoverHideHandler = (MouseEvent t) -> { + Point2D mouseInFilterPane = sceneToLocal(t.getX(), t.getY()); + if (mouseInFilterPane.getX() < 0 || mouseInFilterPane.getX() > (getWidth()) || mouseInFilterPane.getY() < 0 || mouseInFilterPane.getY() > (getHeight())) { - hide(); - t.consume(); - } + hide(); + t.consume(); } }; // popoverScrollHandler = new EventHandler() { @@ -304,15 +301,12 @@ int pageWidth = width - left - right; final int newPageX = (pageWidth+PAGE_GAP) * (pages.size()-1); new Timeline( - new KeyFrame(Duration.millis(350), - new EventHandler() { - @Override public void handle(ActionEvent t) { - pagesPane.setCache(false); - pagesPane.getChildren().remove(pagesPane.getChildren().size()-1); - titlesPane.getChildren().remove(titlesPane.getChildren().size()-1); - resizePopoverToNewPage(pages.getFirst().getPageNode()); - } - }, + new KeyFrame(Duration.millis(350), (ActionEvent t) -> { + pagesPane.setCache(false); + pagesPane.getChildren().remove(pagesPane.getChildren().size()-1); + titlesPane.getChildren().remove(titlesPane.getChildren().size()-1); + resizePopoverToNewPage(pages.getFirst().getPageNode()); + }, new KeyValue(pagesPane.translateXProperty(), -newPageX, Interpolator.EASE_BOTH), new KeyValue(titlesPane.translateXProperty(), -newPageX, Interpolator.EASE_BOTH), new KeyValue(pagesClipRect.xProperty(), newPageX, Interpolator.EASE_BOTH), @@ -345,13 +339,10 @@ if (!pages.isEmpty() && isVisible()) { final Timeline timeline = new Timeline( - new KeyFrame(Duration.millis(350), - new EventHandler() { - @Override public void handle(ActionEvent t) { - pagesPane.setCache(false); - resizePopoverToNewPage(pageNode); - } - }, + new KeyFrame(Duration.millis(350), (ActionEvent t) -> { + pagesPane.setCache(false); + resizePopoverToNewPage(pageNode); + }, new KeyValue(pagesPane.translateXProperty(), -newPageX, Interpolator.EASE_BOTH), new KeyValue(titlesPane.translateXProperty(), -newPageX, Interpolator.EASE_BOTH), new KeyValue(pagesClipRect.xProperty(), newPageX, Interpolator.EASE_BOTH), @@ -400,10 +391,8 @@ FadeTransition fade = new FadeTransition(Duration.seconds(.1), this); fade.setToValue(1.0); - fade.setOnFinished(new EventHandler() { - @Override public void handle(ActionEvent event) { - fadeAnimation = null; - } + fade.setOnFinished((ActionEvent event) -> { + fadeAnimation = null; }); ScaleTransition scale = new ScaleTransition(Duration.seconds(.1), this); @@ -427,13 +416,11 @@ FadeTransition fade = new FadeTransition(Duration.seconds(.1), this); fade.setToValue(0); - fade.setOnFinished(new EventHandler() { - @Override public void handle(ActionEvent event) { - fadeAnimation = null; - setVisible(false); - clearPages(); - if (onHideCallback != null) onHideCallback.run(); - } + fade.setOnFinished((ActionEvent event) -> { + fadeAnimation = null; + setVisible(false); + clearPages(); + if (onHideCallback != null) onHideCallback.run(); }); ScaleTransition scale = new ScaleTransition(Duration.seconds(.1), this); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/control/SearchBox.java b/apps/samples/Ensemble8/src/app/java/ensemble/control/SearchBox.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/control/SearchBox.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/control/SearchBox.java @@ -57,10 +57,8 @@ setPrefHeight(30); clearButton.getStyleClass().setAll("search-clear-button"); clearButton.setCursor(Cursor.DEFAULT); - clearButton.setOnMouseClicked(new EventHandler() { - @Override public void handle(MouseEvent t) { - setText(""); - } + clearButton.setOnMouseClicked((MouseEvent t) -> { + setText(""); }); clearButton.setVisible(false); clearButton.setManaged(false); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/Description.java @@ -79,10 +79,8 @@ sourceBtn.getStyleClass().add("sample-page-box-title"); sourceBtn.setGraphic(new ImageView(ORANGE_ARROW)); sourceBtn.setContentDisplay(ContentDisplay.RIGHT); - sourceBtn.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent ev) { - samplePage.pageBrowser.goToPage(samplePage.getUrl().replaceFirst("sample://", "sample-src://")); - } + sourceBtn.setOnAction((ActionEvent ev) -> { + samplePage.pageBrowser.goToPage(samplePage.getUrl().replaceFirst("sample://", "sample-src://")); }); if (PlatformFeatures.LINK_TO_SOURCE) getChildren().add(sourceBtn); if (Platform.isSupported(ConditionalFeature.WEB)) { @@ -128,11 +126,9 @@ } // listen for when sample changes - samplePage.registerSampleInfoUpdater(new Callback() { - @Override public Void call(SampleInfo sampleInfo) { - update(sampleInfo); - return null; - } + samplePage.registerSampleInfoUpdater((SampleInfo sampleInfo) -> { + update(sampleInfo); + return null; }); } @@ -141,20 +137,16 @@ relatedDocumentsList.getChildren().clear(); for (final URL docUrl : sampleInfo.getDocURLs()) { Hyperlink link = new Hyperlink(docUrl.getName()); - link.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent ev) { - samplePage.pageBrowser.goToPage(docUrl.getURL()); - } + link.setOnAction((ActionEvent ev) -> { + samplePage.pageBrowser.goToPage(docUrl.getURL()); }); link.setTooltip(new Tooltip(docUrl.getName())); relatedDocumentsList.getChildren().add(link); } for (final String classpath : sampleInfo.apiClasspaths) { Hyperlink link = new Hyperlink(classpath); - link.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent ev) { - samplePage.pageBrowser.goToPage(samplePage.apiClassToUrl(classpath)); - } + link.setOnAction((ActionEvent ev) -> { + samplePage.pageBrowser.goToPage(samplePage.apiClassToUrl(classpath)); }); relatedDocumentsList.getChildren().add(link); } @@ -163,11 +155,8 @@ for (final SampleInfo.URL sampleURL : sampleInfo.getRelatedSampleURLs()) { if (Samples.ROOT.sampleForPath(sampleURL.getURL()) != null) { //Check if sample exists Hyperlink sampleLink = new Hyperlink(sampleURL.getName()); - sampleLink.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - samplePage.pageBrowser.goToPage("sample://" + sampleURL.getURL()); - } + sampleLink.setOnAction((ActionEvent t) -> { + samplePage.pageBrowser.goToPage("sample://" + sampleURL.getURL()); }); sampleLink.setPrefWidth(1000); relatedSamples.getChildren().add(sampleLink); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/PieChartDataVisualizer.java b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/PieChartDataVisualizer.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/PieChartDataVisualizer.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/PieChartDataVisualizer.java @@ -65,35 +65,19 @@ setMinHeight(100); setMinWidth(100); - chart.dataProperty().addListener(new ChangeListener>() { - - @Override - public void changed(ObservableValue> ov, ObservableList t, ObservableList t1) { - setItems(t1); - } + chart.dataProperty().addListener((ObservableValue> ov, ObservableList t, ObservableList t1) -> { + setItems(t1); }); TableColumn nameColumn = new TableColumn<>("Name"); - nameColumn.setCellValueFactory(new Callback, ObservableValue>() { - - @Override - public ObservableValue call(CellDataFeatures p) { - return p.getValue().nameProperty(); - } - }); + nameColumn.setCellValueFactory((CellDataFeatures p) -> p.getValue().nameProperty()); nameColumn.setCellFactory(TextFieldTableCell.forTableColumn()); nameColumn.setEditable(true); nameColumn.setSortable(false); nameColumn.setMinWidth(80); TableColumn pieValueColumn = new TableColumn<>("PieValue"); - pieValueColumn.setCellValueFactory(new Callback, ObservableValue>() { - - @Override - public ObservableValue call(CellDataFeatures p) { - return p.getValue().pieValueProperty(); - } - }); + pieValueColumn.setCellValueFactory((CellDataFeatures p) -> p.getValue().pieValueProperty()); pieValueColumn.setCellFactory(TextFieldTableCell.forTableColumn(new StringConverter() { @Override @@ -117,24 +101,20 @@ pieValueColumn.setSortable(false); pieValueColumn.setMinWidth(80); - setOnContextMenuRequested(new EventHandler() { - - @Override - public void handle(ContextMenuEvent t) { - Node node = t.getPickResult().getIntersectedNode(); - while (node != null && !(node instanceof TableRow) && !(node instanceof TableCell)) { - node = node.getParent(); - } - if (node instanceof TableCell) { - TableCell tc = (TableCell) node; - getSelectionModel().select(tc.getIndex()); - } else if (node instanceof TableRow) { - TableRow tr = (TableRow) node; - if (tr.getItem() == null) { - getSelectionModel().clearSelection(); - } else { - getSelectionModel().select(tr.getIndex()); - } + setOnContextMenuRequested((ContextMenuEvent t) -> { + Node node = t.getPickResult().getIntersectedNode(); + while (node != null && !(node instanceof TableRow) && !(node instanceof TableCell)) { + node = node.getParent(); + } + if (node instanceof TableCell) { + TableCell tc = (TableCell) node; + getSelectionModel().select(tc.getIndex()); + } else if (node instanceof TableRow) { + TableRow tr = (TableRow) node; + if (tr.getItem() == null) { + getSelectionModel().clearSelection(); + } else { + getSelectionModel().select(tr.getIndex()); } } }); @@ -162,36 +142,24 @@ MenuItemBuilder.create() .text("Delete item") // .accelerator(new KeyCodeCombination(KeyCode.DELETE, KeyCombination.CONTROL_DOWN)) - .onAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - int index = getSelectionModel().getSelectedIndex(); - if (index >= 0 && index < chart.getData().size()) { - chart.getData().remove(index); - } + .onAction((ActionEvent t) -> { + int index = getSelectionModel().getSelectedIndex(); + if (index >= 0 && index < chart.getData().size()) { + chart.getData().remove(index); } - }) + }) .build(), MenuItemBuilder.create() .text("Clear data") - .onAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - chart.getData().clear(); - } - }) + .onAction((ActionEvent t) -> { + chart.getData().clear(); + }) .build(), MenuItemBuilder.create() .text("Set new data") - .onAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - chart.setData(PieChartApp.generateData()); - } - }) + .onAction((ActionEvent t) -> { + chart.setData(PieChartApp.generateData()); + }) .build()) .build()); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePage.java b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePage.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePage.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePage.java @@ -120,10 +120,8 @@ * @param updater a method that updates content for a given SampleInfo */ void registerSampleInfoUpdater(final Callback updater) { - sampleInfoProperty.addListener(new ChangeListener() { - public void changed(ObservableValue ov, SampleInfo t, SampleInfo sampleInfo) { - updater.call(sampleInfo); - } + sampleInfoProperty.addListener((ObservableValue ov, SampleInfo t, SampleInfo sampleInfo) -> { + updater.call(sampleInfo); }); updater.call(sampleInfoProperty.get()); } diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SamplePageContent.java @@ -55,13 +55,9 @@ this.samplePage = samplePage; playground = new PlaygroundNode(samplePage); description = new Description(samplePage); - samplePage.registerSampleInfoUpdater(new Callback() { - - @Override - public Void call(SampleInfo sampleInfo) { - update(sampleInfo); - return null; - } + samplePage.registerSampleInfoUpdater((SampleInfo sampleInfo) -> { + update(sampleInfo); + return null; }); } diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SimpleHSBColorPicker.java b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SimpleHSBColorPicker.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SimpleHSBColorPicker.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/SimpleHSBColorPicker.java @@ -63,28 +63,25 @@ getChildren().addAll(hsbRect, lightRect); lightRect.setStroke(Color.GRAY); lightRect.setStrokeType(StrokeType.OUTSIDE); - EventHandler ml = new EventHandler() { - @Override - public void handle(MouseEvent e) { - double w = getWidth(); - double h = getHeight(); - double x = Math.min(w, Math.max(0, e.getX())); - double y = Math.min(h, Math.max(0, e.getY())); - double hue = (360 / w) * x; - double vert = (1 / h) * y; - double sat; - double bright; - if (vert < 0.5) { - bright = 1; - sat = vert * 2; - } else { - bright = sat = 1 - 2 * (vert - 0.5); - } - // convert back to color - Color c = Color.hsb((int) hue, sat, bright); - color.set(c); - e.consume(); + EventHandler ml = (MouseEvent e) -> { + double w = getWidth(); + double h = getHeight(); + double x = Math.min(w, Math.max(0, e.getX())); + double y = Math.min(h, Math.max(0, e.getY())); + double hue = (360 / w) * x; + double vert = (1 / h) * y; + double sat; + double bright; + if (vert < 0.5) { + bright = 1; + sat = vert * 2; + } else { + bright = sat = 1 - 2 * (vert - 0.5); } + // convert back to color + Color c = Color.hsb((int) hue, sat, bright); + color.set(c); + e.consume(); }; lightRect.setOnMouseDragged(ml); lightRect.setOnMouseClicked(ml); diff --git a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/XYDataVisualizer.java b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/XYDataVisualizer.java --- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/XYDataVisualizer.java +++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/XYDataVisualizer.java @@ -91,24 +91,16 @@ getRoot().getChildren().get(0).setExpanded(true); } - chart.dataProperty().addListener(new ChangeListener>>() { - - @Override - public void changed(ObservableValue>> ov, ObservableList> t, ObservableList> t1) { - setRoot(new MyTreeItem(new XYChartItem(t1))); - } + chart.dataProperty().addListener((ObservableValue>> ov, ObservableList> t, ObservableList> t1) -> { + setRoot(new MyTreeItem(new XYChartItem(t1))); }); TreeTableColumn, String> nameColumn = new TreeTableColumn<>("Name"); - nameColumn.setCellValueFactory(new Callback, String>, ObservableValue>() { - - @Override - public ObservableValue call(CellDataFeatures, String> p) { - if (p.getValue() != null) { - return p.getValue().getValue().nameProperty(); - } else { - return null; - } + nameColumn.setCellValueFactory((CellDataFeatures, String> p) -> { + if (p.getValue() != null) { + return p.getValue().getValue().nameProperty(); + } else { + return null; } }); nameColumn.setEditable(true); @@ -116,54 +108,44 @@ nameColumn.setMinWidth(70); TreeTableColumn, X> xValueColumn = new TreeTableColumn<>("XValue"); - xValueColumn.setCellValueFactory(new Callback, X>, ObservableValue>() { - - @Override - public ObservableValue call(CellDataFeatures, X> p) { - if (p.getValue() != null) { - return p.getValue().getValue().xValueProperty(); - } else { - return null; - } + xValueColumn.setCellValueFactory((CellDataFeatures, X> p) -> { + if (p.getValue() != null) { + return p.getValue().getValue().xValueProperty(); + } else { + return null; } }); - xValueColumn.setCellFactory(new Callback, X>, TreeTableCell, X>>() { - - @Override - public TreeTableCell, X> call(TreeTableColumn, X> p) { - return new TextFieldTreeTableCell, X>() { - { - setConverter(new StringConverter() { - @Override - public String toString(X t) { - return t == null ? null : t.toString(); + xValueColumn.setCellFactory((TreeTableColumn, X> p) -> new TextFieldTreeTableCell, X>() { + { + setConverter(new StringConverter() { + @Override + public String toString(X t) { + return t == null ? null : t.toString(); + } + + @Override + public X fromString(String string) { + if (string == null) { + return null; + } + try { + if (clzX.isAssignableFrom(String.class)) { + return (X) string; + } else if (clzX.isAssignableFrom(Double.class)) { + return (X) new Double(string); + } else if (clzX.isAssignableFrom(Integer.class)) { + return (X) new Integer(string); } - - @Override - public X fromString(String string) { - if (string == null) { - return null; - } - try { - if (clzX.isAssignableFrom(String.class)) { - return (X) string; - } else if (clzX.isAssignableFrom(Double.class)) { - return (X) new Double(string); - } else if (clzX.isAssignableFrom(Integer.class)) { - return (X) new Integer(string); - } - } catch (NumberFormatException ex) { - Logger.getLogger(XYDataVisualizer.class.getName()).log(Level.FINE, - "Failed to parse {0} to type {1}", new Object[]{string, clzX}); - return getItem(); - } - Logger.getLogger(XYDataVisualizer.class.getName()).log(Level.FINE, - "This valueX type is not supported: {0}", clzX); - return getItem(); - } - }); + } catch (NumberFormatException ex) { + Logger.getLogger(XYDataVisualizer.class.getName()).log(Level.FINE, + "Failed to parse {0} to type {1}", new Object[]{string, clzX}); + return getItem(); + } + Logger.getLogger(XYDataVisualizer.class.getName()).log(Level.FINE, + "This valueX type is not supported: {0}", clzX); + return getItem(); } - }; + }); } }); xValueColumn.setEditable(true); @@ -171,52 +153,39 @@ xValueColumn.setMinWidth(50); TreeTableColumn, Y> yValueColumn = new TreeTableColumn<>("YValue"); - yValueColumn.setCellValueFactory(new Callback, Y>, ObservableValue>() { - + yValueColumn.setCellValueFactory((CellDataFeatures, Y> p) -> { + if (p.getValue() != null) { + return p.getValue().getValue().yValueProperty(); + } else { + return null; + } + }); + yValueColumn.setCellFactory((TreeTableColumn, Y> p) -> new TextFieldTreeTableCell<>(new StringConverter() { + @Override - public ObservableValue call(CellDataFeatures, Y> p) { - if (p.getValue() != null) { - return p.getValue().getValue().yValueProperty(); - } else { + public String toString(Y t) { + return t == null ? null : t.toString(); + } + + @Override + public Y fromString(String string) { + if (string == null) { return null; } + Y y = (Y) new Double(string); + return y; } - }); - yValueColumn.setCellFactory(new Callback, Y>, TreeTableCell, Y>>() { - - @Override - public TreeTableCell, Y> call(TreeTableColumn, Y> p) { - return new TextFieldTreeTableCell<>(new StringConverter() { - - @Override - public String toString(Y t) { - return t == null ? null : t.toString(); - } - - @Override - public Y fromString(String string) { - if (string == null) { - return null; - } - Y y = (Y) new Double(string); - return y; - } - }); - } - }); + })); yValueColumn.setEditable(true); yValueColumn.setSortable(false); yValueColumn.setMinWidth(50); TreeTableColumn, Object> extraValueColumn = new TreeTableColumn<>("Extra Value"); - extraValueColumn.setCellValueFactory(new Callback, Object>, ObservableValue>() { - @Override - public ObservableValue call(CellDataFeatures, Object> p) { - if (p.getValue() != null) { - return p.getValue().getValue().extraValueProperty(); - } else { - return null; - } + extraValueColumn.setCellValueFactory((CellDataFeatures, Object> p) -> { + if (p.getValue() != null) { + return p.getValue().getValue().extraValueProperty(); + } else { + return null; } }); extraValueColumn.setMinWidth(100); @@ -224,118 +193,93 @@ getColumns().setAll(nameColumn, xValueColumn, yValueColumn, extraValueColumn); - setOnContextMenuRequested(new EventHandler() { - - @Override - public void handle(ContextMenuEvent t) { - Node node = t.getPickResult().getIntersectedNode(); - while (node != null && !(node instanceof TreeTableRow) && !(node instanceof TreeTableCell)) { - node = node.getParent(); + setOnContextMenuRequested((ContextMenuEvent t) -> { + Node node = t.getPickResult().getIntersectedNode(); + while (node != null && !(node instanceof TreeTableRow) && !(node instanceof TreeTableCell)) { + node = node.getParent(); + } + if (node instanceof TreeTableCell) { + TreeTableCell tc = (TreeTableCell) node; + if (tc.getItem() == null) { + getSelectionModel().clearSelection(); + } else { + getSelectionModel().select(tc.getIndex()); } - if (node instanceof TreeTableCell) { - TreeTableCell tc = (TreeTableCell) node; - if (tc.getItem() == null) { - getSelectionModel().clearSelection(); - } else { - getSelectionModel().select(tc.getIndex()); - } - } else if (node instanceof TreeTableRow) { - TreeTableRow tr = (TreeTableRow) node; - if (tr.getItem() == null) { - getSelectionModel().clearSelection(); - } else { - getSelectionModel().select(tr.getIndex()); - } + } else if (node instanceof TreeTableRow) { + TreeTableRow tr = (TreeTableRow) node; + if (tr.getItem() == null) { + getSelectionModel().clearSelection(); + } else { + getSelectionModel().select(tr.getIndex()); } } }); MenuItem insertDataItemMenuItem = new MenuItem("Insert data item"); insertDataItemMenuItem.setDisable(!isEditable()); - insertDataItemMenuItem.setOnAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - TreeItem> selectedItem = getSelectionModel().getSelectedItem(); - if (selectedItem == null || selectedItem.getParent() == null) { - return; - } - Object value = selectedItem.getValue().getValue(); - Object parentValue = selectedItem.getParent().getValue().getValue(); - if (value instanceof Series) { - Series series = (Series) value; - insertItem(series.getData()); - } else if (parentValue instanceof Series) { - Series series = (Series) parentValue; - insertItem(series.getData().indexOf(value), series.getData()); - } + insertDataItemMenuItem.setOnAction((ActionEvent t) -> { + TreeItem> selectedItem = getSelectionModel().getSelectedItem(); + if (selectedItem == null || selectedItem.getParent() == null) { + return; + } + Object value = selectedItem.getValue().getValue(); + Object parentValue = selectedItem.getParent().getValue().getValue(); + if (value instanceof Series) { + Series series = (Series) value; + insertItem(series.getData()); + } else if (parentValue instanceof Series) { + Series series = (Series) parentValue; + insertItem(series.getData().indexOf(value), series.getData()); } }); MenuItem insertSeriesMenuitem = new MenuItem("Insert Series"); insertSeriesMenuitem.setDisable(!isEditable()); - insertSeriesMenuitem.setOnAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - TreeItem> selectedItem = getSelectionModel().getSelectedItem(); - if (selectedItem == null) { - return; - } - Object value = selectedItem.getValue().getValue(); - if (value instanceof ObservableList) { - ObservableList parentList = (ObservableList) value; - insertSeries(parentList.size(), parentList); - } else { - Object parentValue = selectedItem.getParent().getValue().getValue(); - if (parentValue instanceof ObservableList) { - ObservableList parentList = (ObservableList) parentValue; - - insertSeries(parentList.indexOf(value), parentList); - } + insertSeriesMenuitem.setOnAction((ActionEvent t) -> { + TreeItem> selectedItem = getSelectionModel().getSelectedItem(); + if (selectedItem == null) { + return; + } + Object value = selectedItem.getValue().getValue(); + if (value instanceof ObservableList) { + ObservableList parentList = (ObservableList) value; + insertSeries(parentList.size(), parentList); + } else { + Object parentValue = selectedItem.getParent().getValue().getValue(); + if (parentValue instanceof ObservableList) { + ObservableList parentList = (ObservableList) parentValue; + + insertSeries(parentList.indexOf(value), parentList); } } }); MenuItem deleteItemMenuItem = new MenuItem("Delete item"); deleteItemMenuItem.setDisable(!isEditable()); - deleteItemMenuItem.setOnAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - TreeItem> selectedItem = getSelectionModel().getSelectedItem(); - if (selectedItem == null) { - return; - } - Object value = selectedItem.getValue().getValue(); - Object parentValue = selectedItem.getParent().getValue().getValue(); - if (parentValue instanceof ObservableList) { - ((ObservableList) parentValue).remove(value); - } else if (parentValue instanceof Series) { - ((Series) parentValue).getData().remove(value); - } + deleteItemMenuItem.setOnAction((ActionEvent t) -> { + TreeItem> selectedItem = getSelectionModel().getSelectedItem(); + if (selectedItem == null) { + return; + } + Object value = selectedItem.getValue().getValue(); + Object parentValue = selectedItem.getParent().getValue().getValue(); + if (parentValue instanceof ObservableList) { + ((ObservableList) parentValue).remove(value); + } else if (parentValue instanceof Series) { + ((Series) parentValue).getData().remove(value); } }); MenuItem removeAllDataMenuItem = new MenuItem("Remove all data"); removeAllDataMenuItem.setDisable(!isEditable()); - removeAllDataMenuItem.setOnAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - chart.getData().clear(); -// chart.setData(null); - } + removeAllDataMenuItem.setOnAction((ActionEvent t) -> { + chart.getData().clear(); }); MenuItem setNewDataMenuItem = new MenuItem("Set new data"); setNewDataMenuItem.setDisable(!isEditable()); - setNewDataMenuItem.setOnAction(new EventHandler() { - - @Override - public void handle(ActionEvent t) { - chart.setData(generateData()); - } + setNewDataMenuItem.setOnAction((ActionEvent t) -> { + chart.setData(generateData()); }); ContextMenu contextMenu = new ContextMenu( @@ -474,23 +418,13 @@ private static class MyTreeItem extends TreeItem> { { - expandedProperty().addListener(new ChangeListener() { - - @Override - public void changed(ObservableValue ov, Boolean t, Boolean expanded) { - if (expanded) { - ObservableList children = getValue().getChildren(); - if (children != null) { - ListContentBinding.bind(getChildren(), children, new Callback>>() { - - @Override - public TreeItem call(Object p) { - return new MyTreeItem(new XYDataVisualizer.XYChartItem(p), false); - } - }); - if (getChildren().size() == 1) { - getChildren().get(0).setExpanded(true); - } + expandedProperty().addListener((ObservableValue ov, Boolean t, Boolean expanded) -> { + if (expanded) { + ObservableList children = getValue().getChildren(); + if (children != null) { + ListContentBinding.bind(getChildren(), children, (Object p) -> new MyTreeItem(new XYDataVisualizer.XYChartItem(p), false)); + if (getChildren().size() == 1) { + getChildren().get(0).setExpanded(true); } } } diff --git a/apps/samples/Ensemble8/src/compiletime/java/ensemble/compiletime/search/BuildEnsembleSearchIndex.java b/apps/samples/Ensemble8/src/compiletime/java/ensemble/compiletime/search/BuildEnsembleSearchIndex.java --- a/apps/samples/Ensemble8/src/compiletime/java/ensemble/compiletime/search/BuildEnsembleSearchIndex.java +++ b/apps/samples/Ensemble8/src/compiletime/java/ensemble/compiletime/search/BuildEnsembleSearchIndex.java @@ -147,11 +147,7 @@ continue; } System.out.println(docPageUrl); - tasks.add(new Callable>() { - @Override public List call() throws Exception { - return indexDocumentationPage(docPageUrl); - } - }); + tasks.add((Callable>) () -> indexDocumentationPage(docPageUrl)); } System.out.println(" --- end of list ---"); return tasks; @@ -197,11 +193,7 @@ Matcher matcher = findClassUrl.matcher(content); while (matcher.find()) { final String classUrl = javaDocBaseUrl+matcher.group(1); - tasks.add(new Callable>() { - @Override public List call() throws Exception { - return indexApiDocs(classUrl); - } - }); + tasks.add((Callable>) () -> indexApiDocs(classUrl)); } return tasks; } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timeline/TimelineApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timeline/TimelineApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timeline/TimelineApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timeline/TimelineApp.java @@ -107,55 +107,33 @@ //method for creating navigation panel //start/stop/pause/play from start buttons Button buttonStart = new Button("Start"); - buttonStart.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //start timeline - timeline.play(); - } + buttonStart.setOnAction((ActionEvent t) -> { + timeline.play(); }); Button buttonStop = new Button("Stop"); - buttonStop.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //stop timeline - timeline.stop(); - } + buttonStop.setOnAction((ActionEvent t) -> { + timeline.stop(); }); Button buttonPlayFromStart = new Button("Restart"); - buttonPlayFromStart.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //play from start - timeline.playFromStart(); - } + buttonPlayFromStart.setOnAction((ActionEvent t) -> { + timeline.playFromStart(); }); Button buttonPause = new Button("Pause"); - buttonPause.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //pause from start - timeline.pause(); - } + buttonPause.setOnAction((ActionEvent t) -> { + timeline.pause(); }); //text showing current time final Text currentRateText = new Text("Current time: 0 ms"); currentRateText.setBoundsType(TextBoundsType.VISUAL); - timeline.currentTimeProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - int time = (int) timeline.getCurrentTime().toMillis(); - currentRateText.setText("Current time: " + time + " ms"); - } + timeline.currentTimeProperty().addListener((Observable ov) -> { + int time = (int) timeline.getCurrentTime().toMillis(); + currentRateText.setText("Current time: " + time + " ms"); }); //Autoreverse checkbox final CheckBox checkBoxAutoReverse = new CheckBox("Auto Reverse"); checkBoxAutoReverse.setSelected(true); - checkBoxAutoReverse.selectedProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - timeline.setAutoReverse(checkBoxAutoReverse.isSelected()); - } + checkBoxAutoReverse.selectedProperty().addListener((Observable ov) -> { + timeline.setAutoReverse(checkBoxAutoReverse.isSelected()); }); //add all navigation to layout HBox hBox1 = new HBox(10); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timelineevents/TimelineEventsApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timelineevents/TimelineEventsApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timelineevents/TimelineEventsApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/animation/timelineevents/TimelineEventsApp.java @@ -102,13 +102,10 @@ //create a keyFrame, the keyValue is reached at time 2s Duration duration = Duration.seconds(2); //one can add a specific action when the keyframe is reached - EventHandler onFinished = new EventHandler() { - @Override - public void handle(ActionEvent t) { - stack.setTranslateX(java.lang.Math.random() * 200); - //reset counter - i = 0; - } + EventHandler onFinished = (ActionEvent t) -> { + stack.setTranslateX(java.lang.Math.random() * 200); + //reset counter + i = 0; }; KeyFrame keyFrame = new KeyFrame(duration, onFinished , keyValueX, keyValueY); //add the keyframe to the timeline diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/area/audio/AudioAreaChartApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/area/audio/AudioAreaChartApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/area/audio/AudioAreaChartApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/area/audio/AudioAreaChartApp.java @@ -69,13 +69,9 @@ System.getProperty("demo.play.audio", "true")); public AudioAreaChartApp() { - audioSpectrumListener = new AudioSpectrumListener() { - @Override - public void spectrumDataUpdate(double timestamp, double duration, - float[] magnitudes, float[] phases) { - for (int i = 0; i < series1Data.length; i++) { - series1Data[i].setYValue(magnitudes[i] + 60); - } + audioSpectrumListener = (double timestamp, double duration, float[] magnitudes, float[] phases) -> { + for (int i = 0; i < series1Data.length; i++) { + series1Data[i].setYValue(magnitudes[i] + 60); } }; } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/bar/audio/AudioBarChartApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/bar/audio/AudioBarChartApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/bar/audio/AudioBarChartApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/bar/audio/AudioBarChartApp.java @@ -71,13 +71,9 @@ System.getProperty("demo.play.audio", "true")); public AudioBarChartApp() { - audioSpectrumListener = new AudioSpectrumListener() { - @Override - public void spectrumDataUpdate(double timestamp, double duration, - float[] magnitudes, float[] phases) { - for (int i = 0; i < series1Data.length; i++) { - series1Data[i].setYValue(magnitudes[i] + 60); - } + audioSpectrumListener = (double timestamp, double duration, float[] magnitudes, float[] phases) -> { + for (int i = 0; i < series1Data.length; i++) { + series1Data[i].setYValue(magnitudes[i] + 60); } }; } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/candlestick/CandleStickChart.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/candlestick/CandleStickChart.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/candlestick/CandleStickChart.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/candlestick/CandleStickChart.java @@ -164,12 +164,8 @@ // fade out old candle FadeTransition ft = new FadeTransition(Duration.millis(500), candle); ft.setToValue(0); - ft.setOnFinished(new EventHandler() { - - @Override - public void handle(ActionEvent actionEvent) { - getPlotChildren().remove(candle); - } + ft.setOnFinished((ActionEvent actionEvent) -> { + getPlotChildren().remove(candle); }); ft.play(); } else { @@ -208,12 +204,8 @@ // fade out old candle FadeTransition ft = new FadeTransition(Duration.millis(500), candle); ft.setToValue(0); - ft.setOnFinished(new EventHandler() { - - @Override - public void handle(ActionEvent actionEvent) { - getPlotChildren().remove(candle); - } + ft.setOnFinished((ActionEvent actionEvent) -> { + getPlotChildren().remove(candle); }); ft.play(); } else { diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/line/stock/StockLineChartApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/line/stock/StockLineChartApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/line/stock/StockLineChartApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/line/stock/StockLineChartApp.java @@ -73,15 +73,11 @@ // create timeline to add new data every 60th of second animation = new Timeline(); animation.getKeyFrames() - .add(new KeyFrame(Duration.millis(1000 / 60), new EventHandler() { - @Override - public void handle(ActionEvent actionEvent) { - // 6 minutes data per frame - for (int count = 0; count < 6; count++) { - nextTime(); - plotTime(); - } - } + .add(new KeyFrame(Duration.millis(1000 / 60), (ActionEvent actionEvent) -> { + for (int count = 0; count < 6; count++) { + nextTime(); + plotTime(); + } })); animation.setCycleCount(Animation.INDEFINITE); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/pie/drilldown/DrilldownPieChartApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/pie/drilldown/DrilldownPieChartApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/pie/drilldown/DrilldownPieChartApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/pie/drilldown/DrilldownPieChartApp.java @@ -79,16 +79,13 @@ } private void setDrilldownData(final PieChart pie, PieChart.Data data, final String labelPrefix) { - data.getNode().setOnMouseClicked(new EventHandler() { - - @Override public void handle(MouseEvent t) { - pie.setData(FXCollections.observableArrayList( - new PieChart.Data(labelPrefix + "-1", 7), - new PieChart.Data(labelPrefix + "-2", 2), - new PieChart.Data(labelPrefix + "-3", 5), - new PieChart.Data(labelPrefix + "-4", 3), - new PieChart.Data(labelPrefix + "-5", 2))); - } + data.getNode().setOnMouseClicked((MouseEvent t) -> { + pie.setData(FXCollections.observableArrayList( + new PieChart.Data(labelPrefix + "-1", 7), + new PieChart.Data(labelPrefix + "-2", 2), + new PieChart.Data(labelPrefix + "-3", 5), + new PieChart.Data(labelPrefix + "-4", 3), + new PieChart.Data(labelPrefix + "-5", 2))); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/scatter/animated/LiveScatterChartApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/scatter/animated/LiveScatterChartApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/scatter/animated/LiveScatterChartApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/charts/scatter/animated/LiveScatterChartApp.java @@ -68,31 +68,27 @@ // create animation Timeline timeline1 = new Timeline(); timeline1.getKeyFrames().add( - new KeyFrame(Duration.millis(20), new EventHandler() { - @Override public void handle(ActionEvent actionEvent) { + new KeyFrame(Duration.millis(20), (ActionEvent actionEvent) -> { + series.getData().add(new XYChart.Data( + nextX, + Math.sin(Math.toRadians(nextX)) * 100 + )); + nextX += 10; + }) + ); + timeline1.setCycleCount(200); + Timeline timeline2 = new Timeline(); + timeline2.getKeyFrames().add( + new KeyFrame(Duration.millis(50), (ActionEvent actionEvent) -> { series.getData().add(new XYChart.Data( nextX, Math.sin(Math.toRadians(nextX)) * 100 )); + if (series.getData().size() > 54) { + series.getData().remove(0); + } nextX += 10; - } - }) - ); - timeline1.setCycleCount(200); - Timeline timeline2 = new Timeline(); - timeline2.getKeyFrames().add( - new KeyFrame(Duration.millis(50), new EventHandler() { - @Override public void handle(ActionEvent actionEvent) { - series.getData().add(new XYChart.Data( - nextX, - Math.sin(Math.toRadians(nextX)) * 100 - )); - if (series.getData().size() > 54) { - series.getData().remove(0); - } - nextX += 10; - } - }) + }) ); timeline2.setCycleCount(Animation.INDEFINITE); animation = new SequentialTransition(); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/button/pillbutton/PillButtonApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/button/pillbutton/PillButtonApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/button/pillbutton/PillButtonApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/button/pillbutton/PillButtonApp.java @@ -78,12 +78,9 @@ // enforce rule that one of the ToggleButtons must be selected at any // time (that is, it is not valid to have zero ToggleButtons selected). // (Fix for RT-34920 that considered this to be a bug) - group.selectedToggleProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Toggle oldValue, Toggle newValue) { - if (newValue == null) { - group.selectToggle(oldValue); - } + group.selectedToggleProperty().addListener((ObservableValue observable, Toggle oldValue, Toggle newValue) -> { + if (newValue == null) { + group.selectToggle(oldValue); } }); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/datepicker/DatePickerApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/datepicker/DatePickerApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/datepicker/DatePickerApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/datepicker/DatePickerApp.java @@ -147,18 +147,15 @@ //Create the menubar to experiment with the DatePicker datePickerMenuBar = createMenuBar(dayCellFactory); // Listen for DatePicker actions - datePicker.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - LocalDate isoDate = datePicker.getValue(); - if ((isoDate != null) && (!isoDate.equals(LocalDate.now()))) { - for (Menu menu : datePickerMenuBar.getMenus()) { - if (menu.getText().equals("Options for Locale")) { - for (MenuItem menuItem : menu.getItems()) { - if (menuItem.getText().equals("Set date to today")) { - if ((menuItem instanceof CheckMenuItem) && ((CheckMenuItem) menuItem).isSelected()) { - ((CheckMenuItem) menuItem).setSelected(false); - } + datePicker.setOnAction((ActionEvent t) -> { + LocalDate isoDate = datePicker.getValue(); + if ((isoDate != null) && (!isoDate.equals(LocalDate.now()))) { + for (Menu menu : datePickerMenuBar.getMenus()) { + if (menu.getText().equals("Options for Locale")) { + for (MenuItem menuItem : menu.getItems()) { + if (menuItem.getText().equals("Set date to today")) { + if ((menuItem instanceof CheckMenuItem) && ((CheckMenuItem) menuItem).isSelected()) { + ((CheckMenuItem) menuItem).setSelected(false); } } } @@ -188,48 +185,36 @@ //Style DatePicker with cell factory final CheckMenuItem cellFactoryMenuItem = new CheckMenuItem("Use cell factory to color past days and add tooltip to tomorrow"); optionsMenu.getItems().add(cellFactoryMenuItem); - cellFactoryMenuItem.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - if (cellFactoryMenuItem.isSelected()) { - datePicker.setDayCellFactory(dayCellFac); - } else { - datePicker.setDayCellFactory(null); - } + cellFactoryMenuItem.setOnAction((ActionEvent t) -> { + if (cellFactoryMenuItem.isSelected()) { + datePicker.setDayCellFactory(dayCellFac); + } else { + datePicker.setDayCellFactory(null); } }); //Set date to today final CheckMenuItem todayMenuItem = new CheckMenuItem("Set date to today"); optionsMenu.getItems().add(todayMenuItem); - todayMenuItem.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - if (todayMenuItem.isSelected()) { - datePicker.setValue(today); - } + todayMenuItem.setOnAction((ActionEvent t) -> { + if (todayMenuItem.isSelected()) { + datePicker.setValue(today); } }); //Set date to today final CheckMenuItem showWeekNumMenuItem = new CheckMenuItem("Show week numbers"); optionsMenu.getItems().add(showWeekNumMenuItem); - showWeekNumMenuItem.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - datePicker.setShowWeekNumbers(showWeekNumMenuItem.isSelected()); - } + showWeekNumMenuItem.setOnAction((ActionEvent t) -> { + datePicker.setShowWeekNumbers(showWeekNumMenuItem.isSelected()); }); - localeToggleGroup.selectedToggleProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue ov, Toggle oldToggle, Toggle newToggle) { - if (localeToggleGroup.getSelectedToggle() != null) { - String selectedLocale = ((RadioMenuItem) localeToggleGroup.getSelectedToggle()).getText(); - Locale locale = Locale.forLanguageTag(selectedLocale.replace('_', '-')); - Locale.setDefault(locale); - createDatePicker(); - } + localeToggleGroup.selectedToggleProperty().addListener((ObservableValue ov, Toggle oldToggle, Toggle newToggle) -> { + if (localeToggleGroup.getSelectedToggle() != null) { + String selectedLocale = ((RadioMenuItem) localeToggleGroup.getSelectedToggle()).getText(); + Locale locale = Locale.forLanguageTag(selectedLocale.replace('_', '-')); + Locale.setDefault(locale); + createDatePicker(); } }); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/htmleditor/HTMLEditorApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/htmleditor/HTMLEditorApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/htmleditor/HTMLEditorApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/htmleditor/HTMLEditorApp.java @@ -94,12 +94,8 @@ scrollPane.setFitToWidth(true); Button showHTMLButton = new Button("Show the HTML below"); - showHTMLButton.setOnAction(new EventHandler() { - - @Override - public void handle(ActionEvent arg0) { - htmlLabel.setText(htmlEditor.getHtmlText()); - } + showHTMLButton.setOnAction((ActionEvent arg0) -> { + htmlLabel.setText(htmlEditor.getHtmlText()); }); VBox vRoot = new VBox(); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/listview/listviewcellfactory/ListViewCellFactoryApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/listview/listviewcellfactory/ListViewCellFactoryApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/listview/listviewcellfactory/ListViewCellFactoryApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/listview/listviewcellfactory/ListViewCellFactoryApp.java @@ -65,11 +65,7 @@ )); - listView.setCellFactory(new Callback, ListCell>() { - @Override public ListCell call(ListView list) { - return new MoneyFormatCell(); - } - }); + listView.setCellFactory((ListView list) -> new MoneyFormatCell()); listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); return listView; diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/menu/MenuApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/menu/MenuApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/menu/MenuApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/menu/MenuApp.java @@ -79,12 +79,9 @@ final MenuItem menu112 = new MenuItem("foo"); final CheckMenuItem menu113 = new CheckMenuItem("Show \"foo\" item"); menu113.setSelected(true); - menu113.selectedProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable valueModel) { - menu112.setVisible(menu113.isSelected()); - System.err.println("MenuItem \"foo\" is now " + (menu112.isVisible() ? "" : "not") + " visible."); - } + menu113.selectedProperty().addListener((Observable valueModel) -> { + menu112.setVisible(menu113.isSelected()); + System.err.println("MenuItem \"foo\" is now " + (menu112.isVisible() ? "" : "not") + " visible."); }); // Options->Submenu 1 submenu Menu menu11 = new Menu("Submenu 1", @@ -100,12 +97,9 @@ final String change[] = {"Change Text", "Change Back"}; final MenuItem menu13 = new MenuItem(change[0]); menu13.setAccelerator(KeyCombination.keyCombination("Shortcut+C")); - menu13.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - menu13.setText((menu13.getText().equals(change[0])) ? change[1] : change[0]); - outputLabel.setText(((MenuItem) t.getTarget()).getText() + " - action called"); - } + menu13.setOnAction((ActionEvent t) -> { + menu13.setText((menu13.getText().equals(change[0])) ? change[1] : change[0]); + outputLabel.setText(((MenuItem) t.getTarget()).getText() + " - action called"); }); // Options menu @@ -129,11 +123,8 @@ hbox.getChildren().add(sysMenuLabel); vbox.getChildren().add(hbox); sysMenuLabel.setVisible((menuBar.getHeight() == 0)); - menuBar.heightProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue ov, Number t, Number t1) { - sysMenuLabel.setVisible((menuBar.getHeight() == 0)); - } + menuBar.heightProperty().addListener((ObservableValue ov, Number t, Number t1) -> { + sysMenuLabel.setVisible((menuBar.getHeight() == 0)); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/pagination/PaginationApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/pagination/PaginationApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/pagination/PaginationApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/pagination/PaginationApp.java @@ -73,22 +73,14 @@ images[6] = new Image(PaginationApp.class.getResource("/ensemble/samples/shared-resources/Animal7.jpg").toExternalForm(), false); pagination = new Pagination(7); - pagination.setPageFactory(new Callback() { - @Override - public Node call(Integer pageIndex) { - return createAnimalPage(pageIndex); - } - }); + pagination.setPageFactory((Integer pageIndex) -> createAnimalPage(pageIndex)); //Style can be numeric page indicators or bullet indicators Button styleButton = new Button("Toggle pagination style"); - styleButton.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent me) { - if (!pagination.getStyleClass().contains(Pagination.STYLE_CLASS_BULLET)) { - pagination.getStyleClass().add(Pagination.STYLE_CLASS_BULLET); - } else { - pagination.getStyleClass().remove(Pagination.STYLE_CLASS_BULLET); - } + styleButton.setOnAction((ActionEvent me) -> { + if (!pagination.getStyleClass().contains(Pagination.STYLE_CLASS_BULLET)) { + pagination.getStyleClass().add(Pagination.STYLE_CLASS_BULLET); + } else { + pagination.getStyleClass().remove(Pagination.STYLE_CLASS_BULLET); } }); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/scrollbar/ScrollBarApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/scrollbar/ScrollBarApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/scrollbar/ScrollBarApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/scrollbar/ScrollBarApp.java @@ -78,23 +78,15 @@ //create horizontal scrollbar xscrollBar = horizontalScrollBar(-1,-1,xBarWidth,xBarHeight,xBarWidth,xBarHeight); xscrollBar.setUnitIncrement(20.0); - xscrollBar.valueProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Number oldValue, Number newValue) { - //changes the x position of the circle - setScrollValueX(xscrollBar.getValue(), circle); - } + xscrollBar.valueProperty().addListener((ObservableValue observable, Number oldValue, Number newValue) -> { + setScrollValueX(xscrollBar.getValue(), circle); }); //create vertical scrollbar yscrollBar = verticalScrollBar(-1,-1,yBarWidth,yBarHeight,yBarWidth,yBarHeight); yscrollBar.setUnitIncrement(20.0); - yscrollBar.valueProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Number oldValue, Number newValue) { - //changes the y position of the circle - setScrollValueY(yscrollBar.getValue(), circle); - } + yscrollBar.valueProperty().addListener((ObservableValue observable, Number oldValue, Number newValue) -> { + setScrollValueY(yscrollBar.getValue(), circle); }); //shift position of vertical scrollbar to right side of scene diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/tab/TabPaneApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/tab/TabPaneApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/tab/TabPaneApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/tab/TabPaneApp.java @@ -113,10 +113,8 @@ final RadioButton radioButton = new RadioButton(policy.name()); radioButton.setMnemonicParsing(false); radioButton.setToggleGroup(closingPolicy); - radioButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent event) { - tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.valueOf(radioButton.getText())); - } + radioButton.setOnAction((ActionEvent event) -> { + tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.valueOf(radioButton.getText())); }); if (policy.name().equals(TabPane.TabClosingPolicy.SELECTED_TAB.name())) { radioButton.setSelected(true); @@ -134,20 +132,18 @@ final CheckBox cb = new CheckBox("Show labels on original tabs"); cb.setSelected(true); - cb.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent event) { - if (cb.isSelected()) { - tab1.setText("Tab 1"); - tab2.setText("Longer Tab"); - tab3.setText("Tab 3"); - internalTab.setText("Internal Tabs"); - - } else { - tab1.setText(""); - tab2.setText(""); - tab3.setText(""); - internalTab.setText(""); - } + cb.setOnAction((ActionEvent event) -> { + if (cb.isSelected()) { + tab1.setText("Tab 1"); + tab2.setText("Longer Tab"); + tab3.setText("Tab 3"); + internalTab.setText("Internal Tabs"); + + } else { + tab1.setText(""); + tab2.setText(""); + tab3.setText(""); + internalTab.setText(""); } }); vboxTab3.getChildren().add(cb); @@ -195,18 +191,14 @@ innerVbox.setTranslateX(10); innerVbox.setTranslateY(10); Button innerTabPosButton = new Button("Toggle Tab Position"); - innerTabPosButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent e) { - toggleTabPosition(internalTabPane); - } + innerTabPosButton.setOnAction((ActionEvent e) -> { + toggleTabPosition(internalTabPane); }); innerVbox.getChildren().add(innerTabPosButton); { Button innerTabModeButton = new Button("Toggle Tab Mode"); - innerTabModeButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent e) { - toggleTabMode(internalTabPane); - } + innerTabModeButton.setOnAction((ActionEvent e) -> { + toggleTabMode(internalTabPane); }); innerVbox.getChildren().add(innerTabModeButton); } @@ -226,38 +218,30 @@ private void setUpControlButtons(VBox vbox) { // Toggle style class floating final Button tabModeButton = new Button("Toggle Tab Mode"); - tabModeButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent e) { - toggleTabMode(tabPane); - } + tabModeButton.setOnAction((ActionEvent e) -> { + toggleTabMode(tabPane); }); vbox.getChildren().add(tabModeButton); // Tab position final Button tabPositionButton = new Button("Toggle Tab Position"); - tabPositionButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent e) { - toggleTabPosition(tabPane); - } + tabPositionButton.setOnAction((ActionEvent e) -> { + toggleTabPosition(tabPane); }); // Add tab and switch to it final Button newTabButton = new Button("Switch to New Tab"); - newTabButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent e) { - Tab t = new Tab("Testing"); - t.setContent(new Button("Howdy")); - tabPane.getTabs().add(t); - tabPane.getSelectionModel().select(t); - } + newTabButton.setOnAction((ActionEvent e) -> { + Tab t = new Tab("Testing"); + t.setContent(new Button("Howdy")); + tabPane.getTabs().add(t); + tabPane.getSelectionModel().select(t); }); vbox.getChildren().add(newTabButton); // Add tab final Button addTabButton = new Button("Add Tab"); - addTabButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent e) { - Tab t = new Tab("New Tab"); - t.setContent(new Region()); - tabPane.getTabs().add(t); - } + addTabButton.setOnAction((ActionEvent e) -> { + Tab t = new Tab("New Tab"); + t.setContent(new Region()); + tabPane.getTabs().add(t); }); vbox.getChildren().add(addTabButton); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/searchbox/SearchBox.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/searchbox/SearchBox.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/searchbox/SearchBox.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/searchbox/SearchBox.java @@ -56,18 +56,12 @@ clearButton = new Button(); clearButton.setVisible(false); getChildren().addAll(textBox, clearButton); - clearButton.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent actionEvent) { - textBox.setText(""); - textBox.requestFocus(); - } + clearButton.setOnAction((ActionEvent actionEvent) -> { + textBox.setText(""); + textBox.requestFocus(); }); - textBox.textProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, String oldValue, String newValue) { - clearButton.setVisible(textBox.getText().length() != 0); - } + textBox.textProperty().addListener((ObservableValue observable, String oldValue, String newValue) -> { + clearButton.setVisible(textBox.getText().length() != 0); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextInputValidatorPane.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextInputValidatorPane.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextInputValidatorPane.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextInputValidatorPane.java @@ -39,26 +39,22 @@ public class TextInputValidatorPane extends ValidatorPane { - private InvalidationListener textListener = new InvalidationListener() { - @Override public void invalidated(Observable o) { - final Validator v = getValidator(); - final ValidationResult result = v != null ? + private InvalidationListener textListener = (Observable o) -> { + final Validator v = getValidator(); + final ValidationResult result = v != null ? v.validate(getContent()) : new ValidationResult("", ValidationResult.Type.SUCCESS); - - handleValidationResult(result); - } + + handleValidationResult(result); }; public TextInputValidatorPane() { - contentProperty().addListener(new ChangeListener() { - @Override public void changed(ObservableValue ov, C oldValue, C newValue) { - if (oldValue != null) { - oldValue.textProperty().removeListener(textListener); - } - if (newValue != null) { - newValue.textProperty().addListener(textListener); - } + contentProperty().addListener((ObservableValue ov, C oldValue, C newValue) -> { + if (oldValue != null) { + oldValue.textProperty().removeListener(textListener); + } + if (newValue != null) { + newValue.textProperty().addListener(textListener); } }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextValidatorApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextValidatorApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextValidatorApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/TextValidatorApp.java @@ -60,23 +60,20 @@ TextInputValidatorPane pane = new TextInputValidatorPane(); pane.setContent(dateField); - pane.setValidator(new Validator() { - @Override - public ValidationResult validate(TextField control) { - try { - String text = control.getText(); - if (text == null || text.trim().equals("")) { - return null; - } - double d = Double.parseDouble(text); - if (d < 1000) { - return new ValidationResult("Should be > 1000", ValidationResult.Type.WARNING); - } - return null; // succeeded - } catch (Exception e) { - // failed - return new ValidationResult("Bad number", ValidationResult.Type.ERROR); + pane.setValidator((TextField control) -> { + try { + String text = control.getText(); + if (text == null || text.trim().equals("")) { + return null; } + double d = Double.parseDouble(text); + if (d < 1000) { + return new ValidationResult("Should be > 1000", ValidationResult.Type.WARNING); + } + return null; // succeeded + } catch (Exception e) { + // failed + return new ValidationResult("Bad number", ValidationResult.Type.ERROR); } }); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/ValidatorPane.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/ValidatorPane.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/ValidatorPane.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/text/textvalidator/ValidatorPane.java @@ -106,15 +106,12 @@ } public ValidatorPane() { - content.addListener(new ChangeListener() { - @Override - public void changed(ObservableValue ov, Control oldValue, Control newValue) { - if (oldValue != null) { - getChildren().remove(oldValue); - } - if (newValue != null) { - getChildren().add(0, newValue); - } + content.addListener((ObservableValue ov, Control oldValue, Control newValue) -> { + if (oldValue != null) { + getChildren().remove(oldValue); + } + if (newValue != null) { + getChildren().add(0, newValue); } }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/togglebutton/ToggleButtonApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/togglebutton/ToggleButtonApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/togglebutton/ToggleButtonApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/togglebutton/ToggleButtonApp.java @@ -74,14 +74,11 @@ tb1.setToggleGroup(group); tb2.setToggleGroup(group); tb3.setToggleGroup(group); - group.selectedToggleProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Toggle oldValue, Toggle selectedToggle) { - if (selectedToggle != null) { - label.setText(((ToggleButton) selectedToggle).getText()); - } else { - label.setText("..."); - } + group.selectedToggleProperty().addListener((ObservableValue observable, Toggle oldValue, Toggle selectedToggle) -> { + if (selectedToggle != null) { + label.setText(((ToggleButton) selectedToggle).getText()); + } else { + label.setText("..."); } }); // select the first button to start with diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/webview/WebViewApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/webview/WebViewApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/webview/WebViewApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/webview/WebViewApp.java @@ -69,19 +69,13 @@ webEngine.load(DEFAULT_URL); final TextField locationField = new TextField(DEFAULT_URL); - webEngine.locationProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, String oldValue, String newValue) { - locationField.setText(newValue); - } + webEngine.locationProperty().addListener((ObservableValue observable, String oldValue, String newValue) -> { + locationField.setText(newValue); }); - EventHandler goAction = new EventHandler() { - @Override - public void handle(ActionEvent event) { - webEngine.load(locationField.getText().startsWith("http://") - ? locationField.getText() - : "http://" + locationField.getText()); - } + EventHandler goAction = (ActionEvent event) -> { + webEngine.load(locationField.getText().startsWith("http://") + ? locationField.getText() + : "http://" + locationField.getText()); }; locationField.setOnAction(goAction); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Ball.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Ball.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Ball.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/Ball.java @@ -59,13 +59,11 @@ setCache(true); setFill(BALL_GRADIENT); createTimeline(); - setOnMousePressed(new EventHandler() { - public void handle(MouseEvent me) { - if (timeline.getStatus() != Status.RUNNING) { - timeline.play(); - } else { - timeline.pause(); - } + setOnMousePressed((MouseEvent me) -> { + if (timeline.getStatus() != Status.RUNNING) { + timeline.play(); + } else { + timeline.pause(); } }); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BouncingBallsApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BouncingBallsApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BouncingBallsApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/bouncingballs/BouncingBallsApp.java @@ -93,10 +93,8 @@ final BallsPane pane = ballsscreen.getPane(); Button resetButton = new Button("Reset"); - resetButton.setOnAction(new EventHandler() { - public void handle(ActionEvent event) { - pane.resetBalls(); - } + resetButton.setOnAction((ActionEvent event) -> { + pane.resetBalls(); }); VBox vb = new VBox(10); vb.getChildren().addAll(resetButton, ballsscreen); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Level.java @@ -105,30 +105,26 @@ private void initStartingTimeline() { startingTimeline = new Timeline(); - KeyFrame kf1 = new KeyFrame(Duration.millis(500), new EventHandler() { - public void handle(ActionEvent event) { - message.setVisible(true); - state = STARTING_LEVEL; - bat.setVisible(false); - ball.setVisible(false); - } + KeyFrame kf1 = new KeyFrame(Duration.millis(500), (ActionEvent event) -> { + message.setVisible(true); + state = STARTING_LEVEL; + bat.setVisible(false); + ball.setVisible(false); }, new KeyValue(message.opacityProperty(), 0)); KeyFrame kf2 = new KeyFrame(Duration.millis(1500), new KeyValue(message.opacityProperty(), 1)); KeyFrame kf3 = new KeyFrame(Duration.millis(3000), new KeyValue(message.opacityProperty(), 1)); - KeyFrame kf4 = new KeyFrame(Duration.millis(4000), new EventHandler() { - public void handle(ActionEvent event) { - message.setVisible(false); - - bat.setTranslateX((Config.FIELD_WIDTH - bat.getWidth()) / 2.0); - ball.setTranslateX((Config.FIELD_WIDTH - ball.getDiameter()) / 2.0); - ball.setTranslateY(Config.BAT_Y - ball.getDiameter()); - ballDirX = (Utils.random(2) * 2 - 1) * Config.BALL_MIN_COORD_SPEED; - ballDirY = -Config.BALL_MIN_SPEED; - - bat.setVisible(true); - ball.setVisible(true); - state = BALL_CATCHED; - } + KeyFrame kf4 = new KeyFrame(Duration.millis(4000), (ActionEvent event) -> { + message.setVisible(false); + + bat.setTranslateX((Config.FIELD_WIDTH - bat.getWidth()) / 2.0); + ball.setTranslateX((Config.FIELD_WIDTH - ball.getDiameter()) / 2.0); + ball.setTranslateY(Config.BAT_Y - ball.getDiameter()); + ballDirX = (Utils.random(2) * 2 - 1) * Config.BALL_MIN_COORD_SPEED; + ballDirY = -Config.BALL_MIN_SPEED; + + bat.setVisible(true); + ball.setVisible(true); + state = BALL_CATCHED; }, new KeyValue(message.opacityProperty(), 0)); startingTimeline.getKeyFrames().addAll(kf1, kf2, kf3, kf4); @@ -598,70 +594,59 @@ background.setImage(Config.getImages().get(Config.IMAGE_BACKGROUND)); background.setFitWidth(Config.SCREEN_WIDTH); background.setFitHeight(Config.SCREEN_HEIGHT); - background.setOnMouseMoved(new EventHandler() { - public void handle(MouseEvent me) { + background.setOnMouseMoved((MouseEvent me) -> { + moveBat(me.getX() - bat.getWidth() / 2); + me.consume(); + }); + background.setOnMouseDragged((MouseEvent me) -> { + moveBat(me.getX() - bat.getWidth() / 2); + me.consume(); + }); + background.setOnMousePressed((MouseEvent me) -> { + background.requestFocus(); + if (state == PLAYING) { + // Support touch-only devices like some mobile phones moveBat(me.getX() - bat.getWidth() / 2); - me.consume(); + } + if (state == BALL_CATCHED) { + state = PLAYING; + } + if (state == GAME_OVER) { + mainFrame.changeState(MainFrame.SPLASH); + } + me.consume(); + }); + background.setOnKeyPressed((KeyEvent ke) -> { + if ((ke.getCode() == KeyCode.POWER) || (ke.getCode() == KeyCode.X)) { + Platform.exit(); + } + if (state == BALL_CATCHED && (ke.getCode() == KeyCode.SPACE || + ke.getCode() == KeyCode.ENTER || ke.getCode() == KeyCode.PLAY)) { + state = PLAYING; + } + if (state == GAME_OVER) { + mainFrame.changeState(MainFrame.SPLASH); + } + if (state == PLAYING && ke.getCode() == KeyCode.Q) { + // Lost life + lostLife(); + return; + } + if ((ke.getCode() == KeyCode.LEFT || ke.getCode() == KeyCode.TRACK_PREV)) { + batDirection = - Config.BAT_SPEED; + } + if ((ke.getCode() == KeyCode.RIGHT || ke.getCode() == KeyCode.TRACK_NEXT)) { + batDirection = Config.BAT_SPEED; + } + if (ke.getCode() != KeyCode.TAB) { + ke.consume(); } }); - background.setOnMouseDragged(new EventHandler() { - public void handle(MouseEvent me) { - // Support touch-only devices like some mobile phones - moveBat(me.getX() - bat.getWidth() / 2); - me.consume(); - } - }); - background.setOnMousePressed(new EventHandler() { - public void handle(MouseEvent me) { - background.requestFocus(); - if (state == PLAYING) { - // Support touch-only devices like some mobile phones - moveBat(me.getX() - bat.getWidth() / 2); - } - if (state == BALL_CATCHED) { - state = PLAYING; - } - if (state == GAME_OVER) { - mainFrame.changeState(MainFrame.SPLASH); - } - me.consume(); - } - }); - background.setOnKeyPressed(new EventHandler() { - public void handle(KeyEvent ke) { - if ((ke.getCode() == KeyCode.POWER) || (ke.getCode() == KeyCode.X)) { - Platform.exit(); - } - if (state == BALL_CATCHED && (ke.getCode() == KeyCode.SPACE || - ke.getCode() == KeyCode.ENTER || ke.getCode() == KeyCode.PLAY)) { - state = PLAYING; - } - if (state == GAME_OVER) { - mainFrame.changeState(MainFrame.SPLASH); - } - if (state == PLAYING && ke.getCode() == KeyCode.Q) { - // Lost life - lostLife(); - return; - } - if ((ke.getCode() == KeyCode.LEFT || ke.getCode() == KeyCode.TRACK_PREV)) { - batDirection = - Config.BAT_SPEED; - } - if ((ke.getCode() == KeyCode.RIGHT || ke.getCode() == KeyCode.TRACK_NEXT)) { - batDirection = Config.BAT_SPEED; - } - if (ke.getCode() != KeyCode.TAB) { - ke.consume(); - } - } - }); - background.setOnKeyReleased(new EventHandler() { - public void handle(KeyEvent ke) { - if (ke.getCode() == KeyCode.LEFT || ke.getCode() == KeyCode.RIGHT || + background.setOnKeyReleased((KeyEvent ke) -> { + if (ke.getCode() == KeyCode.LEFT || ke.getCode() == KeyCode.RIGHT || ke.getCode() == KeyCode.TRACK_PREV || ke.getCode() == KeyCode.TRACK_NEXT) { - batDirection = 0; - ke.consume(); - } + batDirection = 0; + ke.consume(); } }); group.getChildren().add(background); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Splash.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Splash.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Splash.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/brickbreaker/Splash.java @@ -68,46 +68,44 @@ private void initTimeline() { timeline = new Timeline(); timeline.setCycleCount(Timeline.INDEFINITE); - KeyFrame kf = new KeyFrame(Duration.millis(40), new EventHandler() { - public void handle(ActionEvent event) { - if (state == STATE_SHOW_TITLE) { - stateArg++; - int center = Config.SCREEN_WIDTH / 2; - int offset = (int)(Math.cos(stateArg / 4.0) * (40 - stateArg) / 40 * center); - brick.setTranslateX(center - brick.getImage().getWidth() / 2 + offset); - breaker.setTranslateX(center - breaker.getImage().getWidth() / 2 - offset); - if (stateArg == 40) { - stateArg = 0; - state = STATE_SHOW_STRIKE; - } - return; + KeyFrame kf = new KeyFrame(Duration.millis(40), (ActionEvent event) -> { + if (state == STATE_SHOW_TITLE) { + stateArg++; + int center = Config.SCREEN_WIDTH / 2; + int offset = (int)(Math.cos(stateArg / 4.0) * (40 - stateArg) / 40 * center); + brick.setTranslateX(center - brick.getImage().getWidth() / 2 + offset); + breaker.setTranslateX(center - breaker.getImage().getWidth() / 2 - offset); + if (stateArg == 40) { + stateArg = 0; + state = STATE_SHOW_STRIKE; } - if (state == STATE_SHOW_STRIKE) { - if (stateArg == 0) { - strike.setTranslateX(breaker.getTranslateX() + brick.getImage().getWidth()); - strike.setScaleX(0); - strike.setScaleY(0); - strike.setVisible(true); - } - stateArg++; - double coef = stateArg / 30f; - brick.setTranslateX(breaker.getTranslateX() + + return; + } + if (state == STATE_SHOW_STRIKE) { + if (stateArg == 0) { + strike.setTranslateX(breaker.getTranslateX() + brick.getImage().getWidth()); + strike.setScaleX(0); + strike.setScaleY(0); + strike.setVisible(true); + } + stateArg++; + double coef = stateArg / 30f; + brick.setTranslateX(breaker.getTranslateX() + (breaker.getImage().getWidth() - brick.getImage().getWidth()) / 2f * (1 - coef)); - strike.setScaleX(coef); - strike.setScaleY(coef); - strike.setRotate((30 - stateArg) * 2); - if (stateArg == 30) { - stateArg = 0; - state = STATE_SUN; - } - return; + strike.setScaleX(coef); + strike.setScaleY(coef); + strike.setRotate((30 - stateArg) * 2); + if (stateArg == 30) { + stateArg = 0; + state = STATE_SUN; } - // Here state == STATE_SUN - if (pressanykey.getOpacity() < 1) { - pressanykey.setOpacity(pressanykey.getOpacity() + 0.05f); - } - stateArg--; + return; } + // Here state == STATE_SUN + if (pressanykey.getOpacity() < 1) { + pressanykey.setOpacity(pressanykey.getOpacity() + 0.05f); + } + stateArg--; }); timeline.getKeyFrames().add(kf); } @@ -130,15 +128,11 @@ background.setImage(Config.getImages().get(Config.IMAGE_BACKGROUND)); background.setFitWidth(Config.SCREEN_WIDTH); background.setFitHeight(Config.SCREEN_HEIGHT); - background.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - mainFrame.startGame(); - } + background.setOnMousePressed((MouseEvent me) -> { + mainFrame.startGame(); }); - background.setOnKeyPressed(new EventHandler() { - @Override public void handle(KeyEvent ke) { - mainFrame.startGame(); - } + background.setOnKeyPressed((KeyEvent ke) -> { + mainFrame.startGame(); }); brick = new ImageView(); brick.setImage(Config.getImages().get(Config.IMAGE_SPLASH_BRICK)); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Calculator.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Calculator.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Calculator.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Calculator.java @@ -95,12 +95,8 @@ } private void addKeyListener() { - setOnKeyPressed(new EventHandler() { - - @Override - public void handle(KeyEvent ke) { - processKeyEvent(ke); - } + setOnKeyPressed((KeyEvent ke) -> { + processKeyEvent(ke); }); setFocusTraversable(true); requestFocus(); @@ -164,11 +160,8 @@ final Key key = new Key(Util.KEY_CODES[i][j]); key.setTranslateX(background.getX() + (Key.WIDTH + 1) * j + BORDER); key.setTranslateY(background.getY() + (Key.HEIGHT + 1) * i + BORDER + TR_Y); - key.setOnMousePressed(new EventHandler() { - - @Override public void handle(MouseEvent me) { - onKey(key); - } + key.setOnMousePressed((MouseEvent me) -> { + onKey(key); }); keys[i * Util.KEY_CODES[0].length + j] = key; diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Key.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Key.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Key.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/calc/Key.java @@ -96,16 +96,12 @@ } private void initListeners() { - setOnMouseEntered(new EventHandler() { - @Override public void handle(MouseEvent me) { - background.setFill(CELL_SEL_FILL); - } + setOnMouseEntered((MouseEvent me) -> { + background.setFill(CELL_SEL_FILL); }); - setOnMouseExited(new EventHandler() { - @Override public void handle(MouseEvent me) { - background.setFill(CELL_FILL); - } + setOnMouseExited((MouseEvent me) -> { + background.setFill(CELL_FILL); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/digitalclock/Clock.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/digitalclock/Clock.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/digitalclock/Clock.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/digitalclock/Clock.java @@ -96,22 +96,16 @@ // wait till start of next second then start a timeline to call refreshClocks() every second delayTimeline = new Timeline(); delayTimeline.getKeyFrames().add( - new KeyFrame(new Duration(1000 - (System.currentTimeMillis() % 1000)), new EventHandler() { - @Override public void handle(ActionEvent event) { - if (secondTimeline != null) { - secondTimeline.stop(); - } - secondTimeline = new Timeline(); - secondTimeline.setCycleCount(Timeline.INDEFINITE); - secondTimeline.getKeyFrames().add( - new KeyFrame(Duration.seconds(1), new EventHandler() { - - @Override public void handle(ActionEvent event) { - refreshClocks(); + new KeyFrame(new Duration(1000 - (System.currentTimeMillis() % 1000)), (ActionEvent event) -> { + if (secondTimeline != null) { + secondTimeline.stop(); } - })); - secondTimeline.play(); - } + secondTimeline = new Timeline(); + secondTimeline.setCycleCount(Timeline.INDEFINITE); + secondTimeline.getKeyFrames().add(new KeyFrame(Duration.seconds(1), (ActionEvent event1) -> { + refreshClocks(); + })); + secondTimeline.play(); })); delayTimeline.play(); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/displayshelf/DisplayShelf.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/displayshelf/DisplayShelf.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/displayshelf/DisplayShelf.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/displayshelf/DisplayShelf.java @@ -86,14 +86,11 @@ final PerspectiveImage item = items[i] = new PerspectiveImage(images[i]); final double index = i; - item.setOnMouseClicked(new EventHandler() { - @Override - public void handle(MouseEvent me) { - localChange = true; - scrollBar.setValue(index); - localChange = false; - shiftToCenter(item); - } + item.setOnMouseClicked((MouseEvent me) -> { + localChange = true; + scrollBar.setValue(index); + localChange = false; + shiftToCenter(item); }); } // setup scroll bar @@ -101,12 +98,9 @@ scrollBar.setVisibleAmount(1); scrollBar.setUnitIncrement(1); scrollBar.setBlockIncrement(1); - scrollBar.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - if (!localChange) { - shiftToCenter(items[(int) Math.round(scrollBar.getValue())]); - } + scrollBar.valueProperty().addListener((Observable ov) -> { + if (!localChange) { + shiftToCenter(items[(int) Math.round(scrollBar.getValue())]); } }); // create content @@ -114,20 +108,17 @@ getChildren().addAll(centered, scrollBar); // listen for keyboard events setFocusTraversable(true); - setOnKeyPressed(new EventHandler() { - @Override - public void handle(KeyEvent ke) { - if (ke.getCode() == KeyCode.LEFT) { - shift(1); - localChange = true; - scrollBar.setValue(centerIndex); - localChange = false; - } else if (ke.getCode() == KeyCode.RIGHT) { - shift(-1); - localChange = true; - scrollBar.setValue(centerIndex); - localChange = false; - } + setOnKeyPressed((KeyEvent ke) -> { + if (ke.getCode() == KeyCode.LEFT) { + shift(1); + localChange = true; + scrollBar.setValue(centerIndex); + localChange = false; + } else if (ke.getCode() == KeyCode.RIGHT) { + shift(-1); + localChange = true; + scrollBar.setValue(centerIndex); + localChange = false; } }); // update diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/images/imageoperator/ImageOperationApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/images/imageoperator/ImageOperationApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/images/imageoperator/ImageOperationApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/images/imageoperator/ImageOperationApp.java @@ -83,24 +83,15 @@ public Parent createContent() { StackPane root = new StackPane(); final WritableImage img = new WritableImage(200, 200); - gridSize.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - renderImage(img, gridSize.doubleValue(), hueFactor.doubleValue(), hueOffset.doubleValue()); - } - }); - hueFactor.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - renderImage(img, gridSize.doubleValue(), hueFactor.doubleValue(), hueOffset.doubleValue()); - } - }); - hueOffset.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - renderImage(img, gridSize.doubleValue(), hueFactor.doubleValue(), hueOffset.doubleValue()); - } - }); + gridSize.addListener((Observable observable) -> { + renderImage(img, gridSize.doubleValue(), hueFactor.doubleValue(), hueOffset.doubleValue()); + }); + hueFactor.addListener((Observable observable) -> { + renderImage(img, gridSize.doubleValue(), hueFactor.doubleValue(), hueOffset.doubleValue()); + }); + hueOffset.addListener((Observable observable) -> { + renderImage(img, gridSize.doubleValue(), hueFactor.doubleValue(), hueOffset.doubleValue()); + }); renderImage(img, 3.0, 12.0, 240.0); ImageView view = new ImageView(img); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/Piece.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/Piece.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/Piece.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/Piece.java @@ -88,41 +88,35 @@ // start in inactive state setInactive(); // add listeners to support dragging - setOnMousePressed(new EventHandler() { - public void handle(MouseEvent me) { - toFront(); - startDragX = getTranslateX(); - startDragY = getTranslateY(); - dragAnchor = new Point2D(me.getSceneX(), me.getSceneY()); + setOnMousePressed((MouseEvent me) -> { + toFront(); + startDragX = getTranslateX(); + startDragY = getTranslateY(); + dragAnchor = new Point2D(me.getSceneX(), me.getSceneY()); + }); + setOnMouseReleased((MouseEvent me) -> { + if (getTranslateX() < (10) && getTranslateX() > (- 10) && + getTranslateY() < (10) && getTranslateY() > (- 10)) { + setTranslateX(0); + setTranslateY(0); + setInactive(); } }); - setOnMouseReleased(new EventHandler() { - public void handle(MouseEvent me) { - if (getTranslateX() < (10) && getTranslateX() > (- 10) && - getTranslateY() < (10) && getTranslateY() > (- 10)) { - setTranslateX(0); - setTranslateY(0); - setInactive(); - } - } - }); - setOnMouseDragged(new EventHandler() { - public void handle(MouseEvent me) { - double newTranslateX = startDragX - + me.getSceneX() - dragAnchor.getX(); - double newTranslateY = startDragY - + me.getSceneY() - dragAnchor.getY(); - double minTranslateX = - 45f - correctX; - double maxTranslateX = (deskWidth - Piece.SIZE + 50f ) - correctX; - double minTranslateY = - 30f - correctY; - double maxTranslateY = (deskHeight - Piece.SIZE + 70f ) - correctY; - if ((newTranslateX> minTranslateX ) && - (newTranslateX< maxTranslateX) && - (newTranslateY> minTranslateY) && - (newTranslateY< maxTranslateY)) { - setTranslateX(newTranslateX); - setTranslateY(newTranslateY); - } + setOnMouseDragged((MouseEvent me) -> { + double newTranslateX = startDragX + + me.getSceneX() - dragAnchor.getX(); + double newTranslateY = startDragY + + me.getSceneY() - dragAnchor.getY(); + double minTranslateX = - 45f - correctX; + double maxTranslateX = (deskWidth - Piece.SIZE + 50f ) - correctX; + double minTranslateY = - 30f - correctY; + double maxTranslateY = (deskHeight - Piece.SIZE + 70f ) - correctY; + if ((newTranslateX> minTranslateX ) && + (newTranslateX< maxTranslateX) && + (newTranslateY> minTranslateY) && + (newTranslateY< maxTranslateY)) { + setTranslateX(newTranslateX); + setTranslateY(newTranslateY); } }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/PuzzlePiecesApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/PuzzlePiecesApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/PuzzlePiecesApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/puzzle/PuzzlePiecesApp.java @@ -95,45 +95,41 @@ // create button box Button shuffleButton = new Button("Shuffle"); shuffleButton.setStyle("-fx-font-size: 2em;"); - shuffleButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent actionEvent) { - if (timeline != null) { - timeline.stop(); - } - timeline = new Timeline(); - for (final Piece piece : pieces) { - piece.setActive(); - double shuffleX = Math.random() - * (desk.getWidth() - Piece.SIZE + 48f) - - 24f - piece.getCorrectX(); - double shuffleY = Math.random() - * (desk.getHeight() - Piece.SIZE + 30f) - - 15f - piece.getCorrectY(); - timeline.getKeyFrames().add( - new KeyFrame(Duration.seconds(1), - new KeyValue(piece.translateXProperty(), shuffleX), - new KeyValue(piece.translateYProperty(), shuffleY))); - } - timeline.playFromStart(); + shuffleButton.setOnAction((ActionEvent actionEvent) -> { + if (timeline != null) { + timeline.stop(); } + timeline = new Timeline(); + for (final Piece piece : pieces) { + piece.setActive(); + double shuffleX = Math.random() + * (desk.getWidth() - Piece.SIZE + 48f) + - 24f - piece.getCorrectX(); + double shuffleY = Math.random() + * (desk.getHeight() - Piece.SIZE + 30f) + - 15f - piece.getCorrectY(); + timeline.getKeyFrames().add( + new KeyFrame(Duration.seconds(1), + new KeyValue(piece.translateXProperty(), shuffleX), + new KeyValue(piece.translateYProperty(), shuffleY))); + } + timeline.playFromStart(); }); Button solveButton = new Button("Solve"); solveButton.setStyle("-fx-font-size: 2em;"); - solveButton.setOnAction(new EventHandler() { - @Override public void handle(ActionEvent actionEvent) { - if (timeline != null) { - timeline.stop(); - } - timeline = new Timeline(); - for (final Piece piece : pieces) { - piece.setInactive(); - timeline.getKeyFrames().add( - new KeyFrame(Duration.seconds(1), - new KeyValue(piece.translateXProperty(), 0), - new KeyValue(piece.translateYProperty(), 0))); - } - timeline.playFromStart(); + solveButton.setOnAction((ActionEvent actionEvent) -> { + if (timeline != null) { + timeline.stop(); } + timeline = new Timeline(); + for (final Piece piece : pieces) { + piece.setInactive(); + timeline.getKeyFrames().add( + new KeyFrame(Duration.seconds(1), + new KeyValue(piece.translateXProperty(), 0), + new KeyValue(piece.translateYProperty(), 0))); + } + timeline.playFromStart(); }); HBox buttonBox = new HBox(8); buttonBox.getChildren().addAll(shuffleButton, solveButton); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/stopwatch/Watch.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/stopwatch/Watch.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/stopwatch/Watch.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics2d/stopwatch/Watch.java @@ -90,10 +90,8 @@ private void configureTimeline() { time.setCycleCount(Timeline.INDEFINITE); - KeyFrame keyFrame = new KeyFrame(Duration.millis(47), new EventHandler() { - public void handle(ActionEvent event) { - calculate(); - } + KeyFrame keyFrame = new KeyFrame(Duration.millis(47), (ActionEvent event) -> { + calculate(); }); time.getKeyFrames().add(keyFrame); } @@ -164,46 +162,34 @@ } private void configureListeners() { - startButton.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - startButton.moveDown(); - me.consume(); - } + startButton.setOnMousePressed((MouseEvent me) -> { + startButton.moveDown(); + me.consume(); }); - stopButton.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - stopButton.moveDown(); - me.consume(); - } + stopButton.setOnMousePressed((MouseEvent me) -> { + stopButton.moveDown(); + me.consume(); }); - startButton.setOnMouseReleased(new EventHandler() { - @Override public void handle(MouseEvent me) { - startButton.moveUp(); - startStop(); - me.consume(); - } + startButton.setOnMouseReleased((MouseEvent me) -> { + startButton.moveUp(); + startStop(); + me.consume(); }); - stopButton.setOnMouseReleased(new EventHandler() { - @Override public void handle(MouseEvent me) { - stopButton.moveUp(); - stopReset(); - me.consume(); - } + stopButton.setOnMouseReleased((MouseEvent me) -> { + stopButton.moveUp(); + stopReset(); + me.consume(); }); - startButton.setOnMouseDragged(new EventHandler() { - @Override public void handle(MouseEvent me) { - me.consume(); - } + startButton.setOnMouseDragged((MouseEvent me) -> { + me.consume(); }); - stopButton.setOnMouseDragged(new EventHandler() { - @Override public void handle(MouseEvent me) { - me.consume(); - } + stopButton.setOnMouseDragged((MouseEvent me) -> { + me.consume(); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics3d/xylophone/XylophoneApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics3d/xylophone/XylophoneApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics3d/xylophone/XylophoneApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/graphics3d/xylophone/XylophoneApp.java @@ -173,45 +173,29 @@ bar8Cube.setTranslateX(xStart + 8 * xOffset); bar8Cube.setTranslateZ(yPos); - bar1Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar1Note.play(); - } + bar1Cube.setOnMousePressed((MouseEvent me) -> { + bar1Note.play(); }); - bar2Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar2Note.play(); - } + bar2Cube.setOnMousePressed((MouseEvent me) -> { + bar2Note.play(); }); - bar3Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar3Note.play(); - } + bar3Cube.setOnMousePressed((MouseEvent me) -> { + bar3Note.play(); }); - bar4Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar4Note.play(); - } + bar4Cube.setOnMousePressed((MouseEvent me) -> { + bar4Note.play(); }); - bar5Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar5Note.play(); - } + bar5Cube.setOnMousePressed((MouseEvent me) -> { + bar5Note.play(); }); - bar6Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar6Note.play(); - } + bar6Cube.setOnMousePressed((MouseEvent me) -> { + bar6Note.play(); }); - bar7Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar7Note.play(); - } + bar7Cube.setOnMousePressed((MouseEvent me) -> { + bar7Note.play(); }); - bar8Cube.setOnMousePressed(new EventHandler() { - @Override public void handle(MouseEvent me) { - bar8Note.play(); - } + bar8Cube.setOnMousePressed((MouseEvent me) -> { + bar8Note.play(); }); rectangleGroup.getChildren().addAll(base1Cube, base2Cube, bar1Cube, bar2Cube, bar3Cube, diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/changelistener/ChangeListenerApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/changelistener/ChangeListenerApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/changelistener/ChangeListenerApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/changelistener/ChangeListenerApp.java @@ -86,37 +86,26 @@ text.setTextOrigin(VPos.TOP); text.setTextAlignment(TextAlignment.CENTER); // create listener - final InvalidationListener hoverListener = new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - if (rect.isHover()) { - text.setText("hovered"); - } else { - text.setText("not hovered"); - } + final InvalidationListener hoverListener = (Observable ov) -> { + if (rect.isHover()) { + text.setText("hovered"); + } else { + text.setText("not hovered"); } }; //create button for adding listener Button buttonAdd = new Button("Add listener"); buttonAdd.setPrefSize(140, 18); - buttonAdd.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //add the listener on property hover - rect.hoverProperty().addListener(hoverListener); - text.setText("listener added"); - } + buttonAdd.setOnAction((ActionEvent t) -> { + rect.hoverProperty().addListener(hoverListener); + text.setText("listener added"); }); //create a button for removing the listener Button buttonRemove = new Button("Remove listener"); buttonRemove.setPrefSize(140, 18); - buttonRemove.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //remove the listener - rect.hoverProperty().removeListener(hoverListener); - text.setText("listener removed"); - } + buttonRemove.setOnAction((ActionEvent t) -> { + rect.hoverProperty().removeListener(hoverListener); + text.setText("listener removed"); }); // show all nodes vbox.getChildren().addAll(text, buttonAdd, buttonRemove); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/concurrency/service/ServiceApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/concurrency/service/ServiceApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/concurrency/service/ServiceApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/concurrency/service/ServiceApp.java @@ -70,12 +70,9 @@ vbox.setPadding(new Insets(12)); TableView tableView = new TableView(); Button button = new Button("Refresh"); - button.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - service.restart(); - } - }); + button.setOnAction((ActionEvent t) -> { + service.restart(); + }); vbox.setPrefHeight(160); vbox.getChildren().addAll(tableView, button); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/observablelist/ObservableListApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/observablelist/ObservableListApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/observablelist/ObservableListApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/observablelist/ObservableListApp.java @@ -90,47 +90,34 @@ //create button for adding random integer to random position in observable list Button buttonAddNumber = new Button("Replace random integer"); buttonAddNumber.setPrefSize(190, 45); - buttonAddNumber.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - int randomIndex = (int) (Math.round(Math.random() * (list.size() - 1))); - int randomNumber = (int) (Math.round(Math.random() * 10)); - list.set(randomIndex, randomNumber); - //actualise content of the text to see the result - textList.setText(list.toString()); - } + buttonAddNumber.setOnAction((ActionEvent t) -> { + int randomIndex = (int) (Math.round(Math.random() * (list.size() - 1))); + int randomNumber = (int) (Math.round(Math.random() * 10)); + list.set(randomIndex, randomNumber); + //actualise content of the text to see the result + textList.setText(list.toString()); }); //create button for adding listener Button buttonAdd = new Button("Add list listener"); buttonAdd.setPrefSize(190, 45); - final ListChangeListener listener = new ListChangeListener() { - @Override - public void onChanged(ListChangeListener.Change c) { - while (c.next()) { - textMessage.setText("replacement on index " + c.getFrom()); - } + final ListChangeListener listener = (ListChangeListener.Change c) -> { + while (c.next()) { + textMessage.setText("replacement on index " + c.getFrom()); } }; - buttonAdd.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - list.addListener(listener); - textMessage.setText("listener added"); - } + buttonAdd.setOnAction((ActionEvent t) -> { + list.addListener(listener); + textMessage.setText("listener added"); }); //create a button for removing the listener Button buttonRemove = new Button("Remove list listener"); buttonRemove.setPrefSize(190, 45); - buttonRemove.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - //remove the listener - list.removeListener(listener); - textMessage.setText("listener removed"); - } + buttonRemove.setOnAction((ActionEvent t) -> { + list.removeListener(listener); + textMessage.setText("listener removed"); }); VBox vBoxTop = new VBox(10); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/swing/SwingInteropApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/swing/SwingInteropApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/swing/SwingInteropApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/language/swing/SwingInteropApp.java @@ -64,11 +64,8 @@ public Parent createContent() { button.setPrefSize(180, 45); - button.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - service.restart(); - } + button.setOnAction((ActionEvent t) -> { + service.restart(); }); button.disableProperty().bind(service.bp); return button; diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/advancedmedia/MediaControl.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/advancedmedia/MediaControl.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/advancedmedia/MediaControl.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/advancedmedia/MediaControl.java @@ -137,81 +137,60 @@ playButton.setMinWidth(Control.USE_PREF_SIZE); playButton.setGraphic(imageViewPlay); - playButton.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent e) { - updateValues(); - MediaPlayer.Status status = mp.getStatus(); - if (status == MediaPlayer.Status.UNKNOWN - || status == MediaPlayer.Status.HALTED) { - // don't do anything in these states - return; + playButton.setOnAction((ActionEvent e) -> { + updateValues(); + MediaPlayer.Status status = mp.getStatus(); + if (status == MediaPlayer.Status.UNKNOWN + || status == MediaPlayer.Status.HALTED) { + // don't do anything in these states + return; + } + + if (status == MediaPlayer.Status.PAUSED + || status == MediaPlayer.Status.READY + || status == MediaPlayer.Status.STOPPED) { + // rewind the movie if we're sitting at the end + if (atEndOfMedia) { + mp.seek(mp.getStartTime()); + atEndOfMedia = false; + playButton.setGraphic(imageViewPlay); + //playButton.setText(">"); + updateValues(); } - - if (status == MediaPlayer.Status.PAUSED - || status == MediaPlayer.Status.READY - || status == MediaPlayer.Status.STOPPED) { - // rewind the movie if we're sitting at the end - if (atEndOfMedia) { - mp.seek(mp.getStartTime()); - atEndOfMedia = false; - playButton.setGraphic(imageViewPlay); - //playButton.setText(">"); - updateValues(); - } - mp.play(); - playButton.setGraphic(imageViewPause); - //playButton.setText("||"); - } else { - mp.pause(); - } + mp.play(); + playButton.setGraphic(imageViewPause); + //playButton.setText("||"); + } else { + mp.pause(); } }); - mp.currentTimeProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Duration oldValue, Duration newValue) { - updateValues(); - } + mp.currentTimeProperty().addListener((ObservableValue observable, Duration oldValue, Duration newValue) -> { + updateValues(); }); - mp.setOnPlaying(new Runnable() { - @Override - public void run() { - - if (stopRequested) { - mp.pause(); - stopRequested = false; - } else { - playButton.setGraphic(imageViewPause); - //playButton.setText("||"); - } - } - }); - mp.setOnPaused(new Runnable() { - @Override - public void run() { - - playButton.setGraphic(imageViewPlay); + mp.setOnPlaying(() -> { + if (stopRequested) { + mp.pause(); + stopRequested = false; + } else { + playButton.setGraphic(imageViewPause); //playButton.setText("||"); } }); - mp.setOnReady(new Runnable() { - @Override - public void run() { - duration = mp.getMedia().getDuration(); - updateValues(); - } + mp.setOnPaused(() -> { + playButton.setGraphic(imageViewPlay); + }); + mp.setOnReady(() -> { + duration = mp.getMedia().getDuration(); + updateValues(); }); mp.setCycleCount(repeat ? MediaPlayer.INDEFINITE : 1); - mp.setOnEndOfMedia(new Runnable() { - @Override - public void run() { - if (!repeat) { - playButton.setGraphic(imageViewPlay); - //playButton.setText(">"); - stopRequested = true; - atEndOfMedia = true; - } + mp.setOnEndOfMedia(() -> { + if (!repeat) { + playButton.setGraphic(imageViewPlay); + //playButton.setText(">"); + stopRequested = true; + atEndOfMedia = true; } }); mediaBar.getChildren().add(playButton); @@ -228,17 +207,14 @@ timeSlider.setMaxWidth(Double.MAX_VALUE); HBox.setHgrow(timeSlider, Priority.ALWAYS); - timeSlider.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - if (timeSlider.isValueChanging()) { - // multiply duration by percentage calculated by slider position - if (duration != null) { - mp.seek(duration.multiply(timeSlider.getValue() / 100.0)); - } - updateValues(); - + timeSlider.valueProperty().addListener((Observable ov) -> { + if (timeSlider.isValueChanging()) { + // multiply duration by percentage calculated by slider position + if (duration != null) { + mp.seek(duration.multiply(timeSlider.getValue() / 100.0)); } + updateValues(); + } }); mediaBar.getChildren().add(timeSlider); @@ -259,11 +235,8 @@ public void handle(ActionEvent event) { if (!fullScreen) { newStage = new Stage(); - newStage.fullScreenProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue ov, Boolean t, Boolean t1) { - onFullScreen(); - } + newStage.fullScreenProperty().addListener((ObservableValue ov, Boolean t, Boolean t1) -> { + onFullScreen(); }); final BorderPane borderPane = new BorderPane() { @Override @@ -317,17 +290,11 @@ volumeSlider.setPrefWidth(70); volumeSlider.setMinWidth(30); volumeSlider.setMaxWidth(Region.USE_PREF_SIZE); - volumeSlider.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - } + volumeSlider.valueProperty().addListener((Observable ov) -> { }); - volumeSlider.valueProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Number oldValue, Number newValue) { - if (volumeSlider.isValueChanging()) { - mp.setVolume(volumeSlider.getValue() / 100.0); - } + volumeSlider.valueProperty().addListener((ObservableValue observable, Number oldValue, Number newValue) -> { + if (volumeSlider.isValueChanging()) { + mp.setVolume(volumeSlider.getValue() / 100.0); } }); mediaBar.getChildren().add(volumeSlider); @@ -346,11 +313,8 @@ smallBP.setBottom(null); setBottom(mediaBar); - Platform.runLater(new Runnable() { - @Override - public void run() { - newStage.close(); - } + Platform.runLater(() -> { + newStage.close(); }); } @@ -358,18 +322,15 @@ protected void updateValues() { if (playTime != null && timeSlider != null && volumeSlider != null && duration != null) { - Platform.runLater(new Runnable() { - @Override - public void run() { - Duration currentTime = mp.getCurrentTime(); - playTime.setText(formatTime(currentTime, duration)); - timeSlider.setDisable(duration.isUnknown()); - if (!timeSlider.isDisabled() && duration.greaterThan(Duration.ZERO) && !timeSlider.isValueChanging()) { - timeSlider.setValue(currentTime.divide(duration).toMillis() * 100.0); - } - if (!volumeSlider.isValueChanging()) { - volumeSlider.setValue((int) Math.round(mp.getVolume() * 100)); - } + Platform.runLater(() -> { + Duration currentTime = mp.getCurrentTime(); + playTime.setText(formatTime(currentTime, duration)); + timeSlider.setDisable(duration.isUnknown()); + if (!timeSlider.isDisabled() && duration.greaterThan(Duration.ZERO) && !timeSlider.isValueChanging()) { + timeSlider.setValue(currentTime.divide(duration).toMillis() * 100.0); + } + if (!volumeSlider.isValueChanging()) { + volumeSlider.setValue((int) Math.round(mp.getVolume() * 100)); } }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/AlphaMediaPlayerApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/AlphaMediaPlayerApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/AlphaMediaPlayerApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/AlphaMediaPlayerApp.java @@ -76,33 +76,20 @@ fierPlayer = new MediaPlayer(new Media(FIER_URL)); fierPlayer.setAutoPlay(true); - arthPos.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - planetaryPlayerPane.setTranslate1(arthPos.doubleValue()); - } + arthPos.addListener((Observable observable) -> { + planetaryPlayerPane.setTranslate1(arthPos.doubleValue()); }); - fierPos.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - planetaryPlayerPane.setTranslate2(fierPos.doubleValue()); - - } + fierPos.addListener((Observable observable) -> { + planetaryPlayerPane.setTranslate2(fierPos.doubleValue()); }); - arthRate.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - arthPlayer.setRate(arthRate.doubleValue()); - } + arthRate.addListener((Observable observable) -> { + arthPlayer.setRate(arthRate.doubleValue()); }); - fierRate.addListener(new InvalidationListener() { - @Override - public void invalidated(Observable observable) { - fierPlayer.setRate(fierRate.doubleValue()); - } + fierRate.addListener((Observable observable) -> { + fierPlayer.setRate(fierRate.doubleValue()); }); planetaryPlayerPane = new PlanetaryPlayerPane(arthPlayer, fierPlayer); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/PlanetaryPlayerPane.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/PlanetaryPlayerPane.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/PlanetaryPlayerPane.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/alphamediaplayer/PlanetaryPlayerPane.java @@ -80,76 +80,54 @@ mvPane.getChildren().add(mediaViewerGroup); setCenter(mvPane); - mp1.setOnPlaying(new Runnable() { - @Override public void run() { - if (stopRequested) { - mp1.pause(); - stopRequested = false; - } + mp1.setOnPlaying(() -> { + if (stopRequested) { + mp1.pause(); + stopRequested = false; } }); - mp1.setOnEndOfMedia(new Runnable() { - @Override public void run() { - if (!repeat) { - stopRequested = true; - atEndOfMedia = true; - } + mp1.setOnEndOfMedia(() -> { + if (!repeat) { + stopRequested = true; + atEndOfMedia = true; } }); mp1.setCycleCount(repeat ? MediaPlayer.INDEFINITE : 1); - mp2.setOnPlaying(new Runnable() { - @Override public void run() { - if (stopRequested) { - mp2.pause(); - stopRequested = false; - } + mp2.setOnPlaying(() -> { + if (stopRequested) { + mp2.pause(); + stopRequested = false; } }); - mp2.setOnEndOfMedia(new Runnable() { - @Override public void run() { - if (!repeat) { - stopRequested = true; - atEndOfMedia = true; - } + mp2.setOnEndOfMedia(() -> { + if (!repeat) { + stopRequested = true; + atEndOfMedia = true; } }); mp2.setCycleCount(repeat ? MediaPlayer.INDEFINITE : 1); - final EventHandler backAction = new EventHandler() { - @Override public void handle(ActionEvent e) { - mp1.seek(Duration.ZERO); - mp2.seek(Duration.ZERO); - } + final EventHandler backAction = (ActionEvent e) -> { + mp1.seek(Duration.ZERO); + mp2.seek(Duration.ZERO); }; - final EventHandler stopAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp1.stop(); - mp2.stop(); - } + final EventHandler stopAction = (ActionEvent e) -> { + mp1.stop(); + mp2.stop(); }; - final EventHandler playAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp1.play(); - mp2.play(); - } + final EventHandler playAction = (ActionEvent e) -> { + mp1.play(); + mp2.play(); }; - final EventHandler pauseAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp1.pause(); - mp2.pause(); - } + final EventHandler pauseAction = (ActionEvent e) -> { + mp1.pause(); + mp2.pause(); }; - final EventHandler forwardAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - Duration currentTime = mp1.getCurrentTime(); - mp1.seek(Duration.seconds(currentTime.toSeconds() + 0.1)); - mp2.seek(Duration.seconds(currentTime.toSeconds() + 0.1)); - } + final EventHandler forwardAction = (ActionEvent e) -> { + Duration currentTime = mp1.getCurrentTime(); + mp1.seek(Duration.seconds(currentTime.toSeconds() + 0.1)); + mp2.seek(Duration.seconds(currentTime.toSeconds() + 0.1)); }; mediaBottomBar = new HBox(); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/audioclip/AudioClipApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/audioclip/AudioClipApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/audioclip/AudioClipApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/audioclip/AudioClipApp.java @@ -106,11 +106,8 @@ Lighting lighting = new Lighting(new Light.Point(-20, -20, 100, Color.WHITE)); lighting.setSurfaceScale(1); rectangle.setEffect(lighting); - rectangle.setOnMousePressed(new EventHandler() { - @Override - public void handle(MouseEvent me) { - barNote.play(); - } + rectangle.setOnMousePressed((MouseEvent me) -> { + barNote.play(); }); return rectangle; } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/PlayerPane.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/PlayerPane.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/PlayerPane.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/PlayerPane.java @@ -118,70 +118,53 @@ topBar.setStyle("-fx-background-color: rgb(0,0,0.0,0.0);"); bottomBar.setStyle("-fx-background-color: rgb(0,0,0.0,0.0);"); - setOnMouseEntered(new EventHandler() { - @Override - public void handle(MouseEvent t) { - if (transition != null) { - transition.stop(); - } - FadeTransition fadeTransition1 = new FadeTransition(Duration.millis(200), topBar); - fadeTransition1.setToValue(1.0); - fadeTransition1.setInterpolator(Interpolator.EASE_OUT); + setOnMouseEntered((MouseEvent t) -> { + if (transition != null) { + transition.stop(); + } + FadeTransition fadeTransition1 = new FadeTransition(Duration.millis(200), topBar); + fadeTransition1.setToValue(1.0); + fadeTransition1.setInterpolator(Interpolator.EASE_OUT); + + FadeTransition fadeTransition2 = new FadeTransition(Duration.millis(200), bottomBar); + fadeTransition2.setToValue(1.0); + fadeTransition2.setInterpolator(Interpolator.EASE_OUT); + + transition = new ParallelTransition(fadeTransition1, fadeTransition2); + transition.play(); + }); + setOnMouseExited((MouseEvent t) -> { + if (transition != null) { + transition.stop(); + } + FadeTransition fadeTransitionTop = new FadeTransition(Duration.millis(800), topBar); + fadeTransitionTop.setToValue(0.0); + fadeTransitionTop.setInterpolator(Interpolator.EASE_OUT); + + FadeTransition fadeTransitionBottom = new FadeTransition(Duration.millis(800), bottomBar); + fadeTransitionBottom.setToValue(0.0); + fadeTransitionBottom.setInterpolator(Interpolator.EASE_OUT); + transition = new ParallelTransition(fadeTransitionTop, fadeTransitionBottom); + transition.play(); + }); - FadeTransition fadeTransition2 = new FadeTransition(Duration.millis(200), bottomBar); - fadeTransition2.setToValue(1.0); - fadeTransition2.setInterpolator(Interpolator.EASE_OUT); - - transition = new ParallelTransition(fadeTransition1, fadeTransition2); - transition.play(); + mp.currentTimeProperty().addListener((ObservableValue observable, Duration oldValue, Duration newValue) -> { + updateValues(); + }); + mp.setOnPlaying(() -> { + if (stopRequested) { + mp.pause(); + stopRequested = false; } }); - setOnMouseExited(new EventHandler() { - @Override public void handle(MouseEvent t) { - if (transition != null) { - transition.stop(); - } - FadeTransition fadeTransitionTop = new FadeTransition(Duration.millis(800), topBar); - fadeTransitionTop.setToValue(0.0); - fadeTransitionTop.setInterpolator(Interpolator.EASE_OUT); - - FadeTransition fadeTransitionBottom = new FadeTransition(Duration.millis(800), bottomBar); - fadeTransitionBottom.setToValue(0.0); - fadeTransitionBottom.setInterpolator(Interpolator.EASE_OUT); - transition = new ParallelTransition(fadeTransitionTop, fadeTransitionBottom); - transition.play(); - } + mp.setOnReady(() -> { + duration = mp.getMedia().getDuration(); + updateValues(); }); - - mp.currentTimeProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Duration oldValue, Duration newValue) { - updateValues(); - } - }); - mp.setOnPlaying(new Runnable() { - @Override - public void run() { - if (stopRequested) { - mp.pause(); - stopRequested = false; - } - } - }); - mp.setOnReady(new Runnable() { - @Override - public void run() { - duration = mp.getMedia().getDuration(); - updateValues(); - } - }); - mp.setOnEndOfMedia(new Runnable() { - @Override - public void run() { - if (!repeat) { - stopRequested = true; - atEndOfMedia = true; - } + mp.setOnEndOfMedia(() -> { + if (!repeat) { + stopRequested = true; + atEndOfMedia = true; } }); mp.setCycleCount(repeat ? MediaPlayer.INDEFINITE : 1); @@ -198,17 +181,14 @@ timeSlider.setId("media-slider"); timeSlider.setMinWidth(200); timeSlider.setMaxWidth(Double.MAX_VALUE); - timeSlider.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - if (timeSlider.isValueChanging()) { - // multiply duration by percentage calculated by slider position - if (duration != null) { - mp.seek(duration.multiply(timeSlider.getValue() / 100.0)); - } - updateValues(); - + timeSlider.valueProperty().addListener((Observable ov) -> { + if (timeSlider.isValueChanging()) { + // multiply duration by percentage calculated by slider position + if (duration != null) { + mp.seek(duration.multiply(timeSlider.getValue() / 100.0)); } + updateValues(); + } }); mediaTopBar.getChildren().add(timeSlider); @@ -233,51 +213,30 @@ volumeSlider.setPrefWidth(120); volumeSlider.setMinWidth(30); volumeSlider.setMaxWidth(Region.USE_PREF_SIZE); - volumeSlider.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - } + volumeSlider.valueProperty().addListener((Observable ov) -> { }); - volumeSlider.valueProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Number oldValue, Number newValue) { - if (volumeSlider.isValueChanging()) { - mp.setVolume(volumeSlider.getValue() / 100.0); - } + volumeSlider.valueProperty().addListener((ObservableValue observable, Number oldValue, Number newValue) -> { + if (volumeSlider.isValueChanging()) { + mp.setVolume(volumeSlider.getValue() / 100.0); } }); mediaTopBar.getChildren().add(volumeSlider); - final EventHandler backAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.seek(Duration.ZERO); - } + final EventHandler backAction = (ActionEvent e) -> { + mp.seek(Duration.ZERO); }; - final EventHandler stopAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.stop(); - } + final EventHandler stopAction = (ActionEvent e) -> { + mp.stop(); }; - final EventHandler playAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.play(); - } + final EventHandler playAction = (ActionEvent e) -> { + mp.play(); }; - final EventHandler pauseAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.pause(); - } + final EventHandler pauseAction = (ActionEvent e) -> { + mp.pause(); }; - final EventHandler forwardAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - Duration currentTime = mp.getCurrentTime(); - mp.seek(Duration.seconds(currentTime.toSeconds() + 5.0)); - } + final EventHandler forwardAction = (ActionEvent e) -> { + Duration currentTime = mp.getCurrentTime(); + mp.seek(Duration.seconds(currentTime.toSeconds() + 5.0)); }; mediaBottomBar = new HBox(); @@ -318,18 +277,15 @@ protected void updateValues() { if (playTime != null && timeSlider != null && volumeSlider != null && duration != null) { - Platform.runLater(new Runnable() { - @Override - public void run() { - Duration currentTime = mp.getCurrentTime(); - playTime.setText(formatTime(currentTime, duration)); - timeSlider.setDisable(duration.isUnknown()); - if (!timeSlider.isDisabled() && duration.greaterThan(Duration.ZERO) && !timeSlider.isValueChanging()) { - timeSlider.setValue(currentTime.divide(duration).toMillis() * 100.0); - } - if (!volumeSlider.isValueChanging()) { - volumeSlider.setValue((int) Math.round(mp.getVolume() * 100)); - } + Platform.runLater(() -> { + Duration currentTime = mp.getCurrentTime(); + playTime.setText(formatTime(currentTime, duration)); + timeSlider.setDisable(duration.isUnknown()); + if (!timeSlider.isDisabled() && duration.greaterThan(Duration.ZERO) && !timeSlider.isValueChanging()) { + timeSlider.setValue(currentTime.divide(duration).toMillis() * 100.0); + } + if (!volumeSlider.isValueChanging()) { + volumeSlider.setValue((int) Math.round(mp.getVolume() * 100)); } }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/PlayerPane.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/PlayerPane.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/PlayerPane.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/PlayerPane.java @@ -131,35 +131,23 @@ BorderPane.setAlignment(mediaTopBar, Pos.CENTER); - mp.currentTimeProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Duration oldValue, Duration newValue) { - updateValues(); + mp.currentTimeProperty().addListener((ObservableValue observable, Duration oldValue, Duration newValue) -> { + updateValues(); + }); + mp.setOnPlaying(() -> { + if (stopRequested) { + mp.pause(); + stopRequested = false; } }); - mp.setOnPlaying(new Runnable() { - @Override - public void run() { - if (stopRequested) { - mp.pause(); - stopRequested = false; - } - } + mp.setOnReady(() -> { + duration = mp.getMedia().getDuration(); + updateValues(); }); - mp.setOnReady(new Runnable() { - @Override - public void run() { - duration = mp.getMedia().getDuration(); - updateValues(); - } - }); - mp.setOnEndOfMedia(new Runnable() { - @Override - public void run() { - if (!repeat) { - stopRequested = true; - atEndOfMedia = true; - } + mp.setOnEndOfMedia(() -> { + if (!repeat) { + stopRequested = true; + atEndOfMedia = true; } }); mp.setCycleCount(repeat ? MediaPlayer.INDEFINITE : 1); @@ -175,17 +163,14 @@ timeSlider.setId("media-slider"); timeSlider.setMinWidth(240); timeSlider.setMaxWidth(Double.MAX_VALUE); - timeSlider.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - if (timeSlider.isValueChanging()) { - // multiply duration by percentage calculated by slider position - if (duration != null) { - mp.seek(duration.multiply(timeSlider.getValue() / 100.0)); - } - updateValues(); - + timeSlider.valueProperty().addListener((Observable ov) -> { + if (timeSlider.isValueChanging()) { + // multiply duration by percentage calculated by slider position + if (duration != null) { + mp.seek(duration.multiply(timeSlider.getValue() / 100.0)); } + updateValues(); + } }); HBox.setHgrow(timeSlider, Priority.ALWAYS); @@ -210,53 +195,32 @@ volumeSlider.setPrefWidth(120); volumeSlider.setMinWidth(30); volumeSlider.setMaxWidth(Region.USE_PREF_SIZE); - volumeSlider.valueProperty().addListener(new InvalidationListener() { - @Override - public void invalidated(Observable ov) { - } + volumeSlider.valueProperty().addListener((Observable ov) -> { }); - volumeSlider.valueProperty().addListener(new ChangeListener() { - @Override - public void changed(ObservableValue observable, Number oldValue, Number newValue) { - if (volumeSlider.isValueChanging()) { - mp.setVolume(volumeSlider.getValue() / 100.0); - } + volumeSlider.valueProperty().addListener((ObservableValue observable, Number oldValue, Number newValue) -> { + if (volumeSlider.isValueChanging()) { + mp.setVolume(volumeSlider.getValue() / 100.0); } }); mediaTopBar.getChildren().add(volumeSlider); setTop(mediaTopBar); - final EventHandler backAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.seek(Duration.ZERO); - } + final EventHandler backAction = (ActionEvent e) -> { + mp.seek(Duration.ZERO); }; - final EventHandler stopAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.stop(); - } + final EventHandler stopAction = (ActionEvent e) -> { + mp.stop(); }; - final EventHandler playAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.play(); - } + final EventHandler playAction = (ActionEvent e) -> { + mp.play(); }; - final EventHandler pauseAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - mp.pause(); - } + final EventHandler pauseAction = (ActionEvent e) -> { + mp.pause(); }; - final EventHandler forwardAction = new EventHandler() { - @Override - public void handle(ActionEvent e) { - Duration currentTime = mp.getCurrentTime(); - mp.seek(Duration.seconds(currentTime.toSeconds() + 5.0)); - } + final EventHandler forwardAction = (ActionEvent e) -> { + Duration currentTime = mp.getCurrentTime(); + mp.seek(Duration.seconds(currentTime.toSeconds() + 5.0)); }; Button backButton = new Button("Back"); @@ -290,18 +254,15 @@ protected void updateValues() { if (playTime != null && timeSlider != null && volumeSlider != null && duration != null) { - Platform.runLater(new Runnable() { - @Override - public void run() { - Duration currentTime = mp.getCurrentTime(); - playTime.setText(formatTime(currentTime, duration)); - timeSlider.setDisable(duration.isUnknown()); - if (!timeSlider.isDisabled() && duration.greaterThan(Duration.ZERO) && !timeSlider.isValueChanging()) { - timeSlider.setValue(currentTime.divide(duration).toMillis() * 100.0); - } - if (!volumeSlider.isValueChanging()) { - volumeSlider.setValue((int) Math.round(mp.getVolume() * 100)); - } + Platform.runLater(() -> { + Duration currentTime = mp.getCurrentTime(); + playTime.setText(formatTime(currentTime, duration)); + timeSlider.setDisable(duration.isUnknown()); + if (!timeSlider.isDisabled() && duration.greaterThan(Duration.ZERO) && !timeSlider.isValueChanging()) { + timeSlider.setValue(currentTime.divide(duration).toMillis() * 100.0); + } + if (!volumeSlider.isValueChanging()) { + volumeSlider.setValue((int) Math.round(mp.getVolume() * 100)); } }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/advancedstage/AdvancedStageApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/advancedstage/AdvancedStageApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/advancedstage/AdvancedStageApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/advancedstage/AdvancedStageApp.java @@ -79,98 +79,45 @@ Button button = new Button("Create a Stage"); button.setStyle("-fx-font-size: 24;"); button.setDefaultButton(true); - button.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - // INITIALISATION OF THE STAGE/SCENE - - //create stage which has set stage style transparent - final Stage stage = new Stage(StageStyle.TRANSPARENT); - - //create root node of scene, i.e. group - Group rootGroup = new Group(); - - //create scene with set width, height and color - Scene scene = new Scene(rootGroup, 200, 200, Color.TRANSPARENT); - - //set scene to stage - stage.setScene(scene); - - //center stage on screen - stage.centerOnScreen(); - - //show the stage - stage.show(); - - // CREATION OF THE DRAGGER (CIRCLE) - - //create dragger with desired size - Circle dragger = new Circle(100, 100, 100); - - //fill the dragger with some nice radial background - dragger.setFill(new RadialGradient(-0.3, 135, 0.5, 0.5, 1, true, CycleMethod.NO_CYCLE, new Stop[]{ - new Stop(0, Color.DARKGRAY), - new Stop(1, Color.BLACK) - })); - - //when mouse button is pressed, save the initial position of screen - rootGroup.setOnMousePressed(new EventHandler() { - @Override - public void handle(MouseEvent me) { - initX = me.getScreenX() - stage.getX(); - initY = me.getScreenY() - stage.getY(); - } - }); - - //when screen is dragged, translate it accordingly - rootGroup.setOnMouseDragged(new EventHandler() { - @Override - public void handle(MouseEvent me) { - stage.setX(me.getScreenX() - initX); - stage.setY(me.getScreenY() - initY); - } - }); - - // CREATE MIN AND CLOSE BUTTONS - //create button for closing application - Button close = new Button("Close me"); - close.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent event) { - //in case we would like to close whole demo - //javafx.application.Platform.exit(); - - //however we want to close only this instance of stage - stage.close(); - } - }); - - //create button for minimalising application - Button min = new Button("Minimize me"); - min.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent event) { - stage.setIconified(true); - } - }); - - // CREATE SIMPLE TEXT NODE - Text text = new Text("JavaFX"); //20, 110, - text.setFill(Color.WHITESMOKE); - text.setEffect(new Lighting()); - text.setBoundsType(TextBoundsType.VISUAL); - text.setFont(Font.font(Font.getDefault().getFamily(), 50)); - - // USE A LAYOUT VBOX FOR EASIER POSITIONING OF THE VISUAL NODES ON SCENE - VBox vBox = new VBox(); - vBox.setSpacing(10); - vBox.setPadding(new Insets(60, 0, 0, 20)); - vBox.setAlignment(Pos.TOP_CENTER); - vBox.getChildren().addAll(text, min, close); - - //add all nodes to main root group - rootGroup.getChildren().addAll(dragger, vBox); - } + button.setOnAction((ActionEvent t) -> { + final Stage stage = new Stage(StageStyle.TRANSPARENT); + Group rootGroup = new Group(); + Scene scene = new Scene(rootGroup, 200, 200, Color.TRANSPARENT); + stage.setScene(scene); + stage.centerOnScreen(); + stage.show(); + Circle dragger = new Circle(100, 100, 100); + dragger.setFill(new RadialGradient(-0.3, 135, 0.5, 0.5, 1, true, CycleMethod.NO_CYCLE, new Stop[]{ + new Stop(0, Color.DARKGRAY), + new Stop(1, Color.BLACK) + })); + rootGroup.setOnMousePressed((MouseEvent me) -> { + initX = me.getScreenX() - stage.getX(); + initY = me.getScreenY() - stage.getY(); + }); + rootGroup.setOnMouseDragged((MouseEvent me) -> { + stage.setX(me.getScreenX() - initX); + stage.setY(me.getScreenY() - initY); + }); + Button close = new Button("Close me"); + close.setOnAction((ActionEvent event) -> { + stage.close(); + }); + Button min = new Button("Minimize me"); + min.setOnAction((ActionEvent event) -> { + stage.setIconified(true); + }); + Text text = new Text("JavaFX"); + text.setFill(Color.WHITESMOKE); + text.setEffect(new Lighting()); + text.setBoundsType(TextBoundsType.VISUAL); + text.setFont(Font.font(Font.getDefault().getFamily(), 50)); + VBox vBox = new VBox(); + vBox.setSpacing(10); + vBox.setPadding(new Insets(60, 0, 0, 20)); + vBox.setAlignment(Pos.TOP_CENTER); + vBox.getChildren().addAll(text, min, close); + rootGroup.getChildren().addAll(dragger, vBox); }); return button; } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/gestureevent/GestureEventApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/gestureevent/GestureEventApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/gestureevent/GestureEventApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/gestureevent/GestureEventApp.java @@ -168,130 +168,86 @@ } private void setEventListeners(final Node listeningNode, final Rectangle rec, final String msgPrefix) { - listeningNode.setOnSwipeDown(new EventHandler() { - @Override - public void handle(SwipeEvent se) { - showOnConsole(msgPrefix + "SwipeDown event"); - se.consume(); - } + listeningNode.setOnSwipeDown((SwipeEvent se) -> { + showOnConsole(msgPrefix + "SwipeDown event"); + se.consume(); }); - listeningNode.setOnSwipeUp(new EventHandler() { - @Override - public void handle(SwipeEvent se) { - showOnConsole(msgPrefix + "SwipeUp event"); - se.consume(); - } + listeningNode.setOnSwipeUp((SwipeEvent se) -> { + showOnConsole(msgPrefix + "SwipeUp event"); + se.consume(); }); - listeningNode.setOnSwipeLeft(new EventHandler() { - @Override - public void handle(SwipeEvent se) { - showOnConsole(msgPrefix + "SwipeLeft event"); - se.consume(); - } + listeningNode.setOnSwipeLeft((SwipeEvent se) -> { + showOnConsole(msgPrefix + "SwipeLeft event"); + se.consume(); }); - listeningNode.setOnSwipeRight(new EventHandler() { - @Override - public void handle(SwipeEvent se) { - showOnConsole(msgPrefix + "SwipeRight event"); - se.consume(); - } + listeningNode.setOnSwipeRight((SwipeEvent se) -> { + showOnConsole(msgPrefix + "SwipeRight event"); + se.consume(); }); - listeningNode.setOnTouchStationary(new EventHandler() { - @Override - public void handle(TouchEvent se) { - showOnConsole(msgPrefix + "TouchStationary event"); - se.consume(); - } + listeningNode.setOnTouchStationary((TouchEvent se) -> { + showOnConsole(msgPrefix + "TouchStationary event"); + se.consume(); }); - listeningNode.setOnScroll(new EventHandler() { - @Override - public void handle(ScrollEvent event) { - - // scroll amount - double translateX = event.getDeltaX(); - double translateY = event.getDeltaY(); - - if ((rec.getTranslateX() + translateX > 0) && (rec.getTranslateX() + translateX < 300)) { - rec.setTranslateX(rec.getTranslateX() + translateX); - } - if ((rec.getTranslateY() + translateY > SMALL_REC_Y - 20) && (rec.getTranslateY() + translateY < 180 + SMALL_REC_Y)) { - rec.setTranslateY(rec.getTranslateY() + translateY); - } - showOnConsole(msgPrefix + "Scroll event"); - event.consume(); + listeningNode.setOnScroll((ScrollEvent event) -> { + double translateX = event.getDeltaX(); + double translateY = event.getDeltaY(); + + if ((rec.getTranslateX() + translateX > 0) && (rec.getTranslateX() + translateX < 300)) { + rec.setTranslateX(rec.getTranslateX() + translateX); } + if ((rec.getTranslateY() + translateY > SMALL_REC_Y - 20) && (rec.getTranslateY() + translateY < 180 + SMALL_REC_Y)) { + rec.setTranslateY(rec.getTranslateY() + translateY); + } + showOnConsole(msgPrefix + "Scroll event"); + event.consume(); }); - listeningNode.setOnZoom(new EventHandler() { - @Override - public void handle(ZoomEvent event) { - rec.setScaleX(rec.getScaleX() * event.getZoomFactor()); - rec.setScaleY(rec.getScaleY() * event.getZoomFactor()); - showOnConsole(msgPrefix + "Zoom event"); - event.consume(); - } + listeningNode.setOnZoom((ZoomEvent event) -> { + rec.setScaleX(rec.getScaleX() * event.getZoomFactor()); + rec.setScaleY(rec.getScaleY() * event.getZoomFactor()); + showOnConsole(msgPrefix + "Zoom event"); + event.consume(); }); - listeningNode.setOnRotate(new EventHandler() { - @Override - public void handle(RotateEvent event) { - rec.setRotate(listeningNode.getRotate() + event.getAngle()); - showOnConsole(msgPrefix + "Rotate event"); - event.consume(); - } + listeningNode.setOnRotate((RotateEvent event) -> { + rec.setRotate(listeningNode.getRotate() + event.getAngle()); + showOnConsole(msgPrefix + "Rotate event"); + event.consume(); }); - listeningNode.setOnScrollStarted(new EventHandler() { - @Override - public void handle(ScrollEvent event) { - showOnConsole(msgPrefix + "Scroll started"); - event.consume(); - } + listeningNode.setOnScrollStarted((ScrollEvent event) -> { + showOnConsole(msgPrefix + "Scroll started"); + event.consume(); }); - listeningNode.setOnScrollFinished(new EventHandler() { - @Override - public void handle(ScrollEvent event) { - showOnConsole(msgPrefix + "Scroll finished"); - event.consume(); - } + listeningNode.setOnScrollFinished((ScrollEvent event) -> { + showOnConsole(msgPrefix + "Scroll finished"); + event.consume(); }); - listeningNode.setOnZoomStarted(new EventHandler() { - @Override - public void handle(ZoomEvent event) { - showOnConsole(msgPrefix + "Zoom started"); - event.consume(); - } + listeningNode.setOnZoomStarted((ZoomEvent event) -> { + showOnConsole(msgPrefix + "Zoom started"); + event.consume(); }); - listeningNode.setOnZoomFinished(new EventHandler() { - @Override - public void handle(ZoomEvent event) { - showOnConsole(msgPrefix + "Zoom finished"); - event.consume(); - } + listeningNode.setOnZoomFinished((ZoomEvent event) -> { + showOnConsole(msgPrefix + "Zoom finished"); + event.consume(); }); - listeningNode.setOnRotationStarted(new EventHandler() { - @Override - public void handle(RotateEvent event) { - showOnConsole(msgPrefix + "Rotation started"); - event.consume(); - } + listeningNode.setOnRotationStarted((RotateEvent event) -> { + showOnConsole(msgPrefix + "Rotation started"); + event.consume(); }); - listeningNode.setOnRotationFinished(new EventHandler() { - @Override - public void handle(RotateEvent event) { - showOnConsole(msgPrefix + "Rotation finished"); - event.consume(); - } + listeningNode.setOnRotationFinished((RotateEvent event) -> { + showOnConsole(msgPrefix + "Rotation finished"); + event.consume(); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keyevent/KeyEventApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keyevent/KeyEventApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keyevent/KeyEventApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keyevent/KeyEventApp.java @@ -61,13 +61,10 @@ //create a console for logging key events final ListView console = new ListView(FXCollections.observableArrayList()); // listen on the console items and remove old ones when we get over 20 items - console.getItems().addListener(new ListChangeListener() { - @Override - public void onChanged(ListChangeListener.Change change) { - while (change.next()) { - if (change.getList().size() > 20.0) { - change.getList().remove(0); - } + console.getItems().addListener((ListChangeListener.Change change) -> { + while (change.next()) { + if (change.getList().size() > 20.0) { + change.getList().remove(0); } } }); @@ -79,36 +76,27 @@ textBox.setPromptText("Write here"); textBox.setStyle("-fx-font-size: 34;"); //add a key listeners - textBox.setOnKeyPressed(new EventHandler() { - @Override - public void handle(KeyEvent ke) { - console.getItems().add("Key Pressed: " + ke.getText()); + textBox.setOnKeyPressed((KeyEvent ke) -> { + console.getItems().add("Key Pressed: " + ke.getText()); + }); + textBox.setOnKeyReleased((KeyEvent ke) -> { + console.getItems().add("Key Released: " + ke.getText()); + }); + textBox.setOnKeyTyped((KeyEvent ke) -> { + String text = "Key Typed: " + ke.getCharacter(); + if (ke.isAltDown()) { + text += " , alt down"; } - }); - textBox.setOnKeyReleased(new EventHandler() { - @Override - public void handle(KeyEvent ke) { - console.getItems().add("Key Released: " + ke.getText()); + if (ke.isControlDown()) { + text += " , ctrl down"; } - }); - textBox.setOnKeyTyped(new EventHandler() { - @Override - public void handle(KeyEvent ke) { - String text = "Key Typed: " + ke.getCharacter(); - if (ke.isAltDown()) { - text += " , alt down"; - } - if (ke.isControlDown()) { - text += " , ctrl down"; - } - if (ke.isMetaDown()) { - text += " , meta down"; - } - if (ke.isShiftDown()) { - text += " , shift down"; - } - console.getItems().add(text); + if (ke.isMetaDown()) { + text += " , meta down"; } + if (ke.isShiftDown()) { + text += " , shift down"; + } + console.getItems().add(text); }); VBox vb = new VBox(10); diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keystrokemotion/LettersPane.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keystrokemotion/LettersPane.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keystrokemotion/LettersPane.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/keystrokemotion/LettersPane.java @@ -59,19 +59,13 @@ setId("LettersPane"); setPrefSize(240, 240); setFocusTraversable(true); - setOnMousePressed(new EventHandler() { - @Override - public void handle(MouseEvent me) { - requestFocus(); - me.consume(); - } + setOnMousePressed((MouseEvent me) -> { + requestFocus(); + me.consume(); }); - setOnKeyPressed(new EventHandler() { - @Override - public void handle(KeyEvent ke) { - createLetter(ke.getText()); - ke.consume(); - } + setOnKeyPressed((KeyEvent ke) -> { + createLetter(ke.getText()); + ke.consume(); }); // create press keys text pressText = new Text("Press Keys"); @@ -104,12 +98,8 @@ // over 3 seconds move letter to random position and fade it out final Timeline timeline = new Timeline(); timeline.getKeyFrames().add( - new KeyFrame(Duration.seconds(3), new EventHandler() { - @Override - public void handle(ActionEvent event) { - // we are done remove us from scene - getChildren().remove(letter); - } + new KeyFrame(Duration.seconds(3), (ActionEvent event) -> { + getChildren().remove(letter); }, new KeyValue(letter.translateXProperty(), getRandom(0.0f, getWidth() - letter.getBoundsInLocal().getWidth()), INTERPOLATOR), new KeyValue(letter.translateYProperty(), getRandom(0.0f, getHeight() - letter.getBoundsInLocal().getHeight()), INTERPOLATOR), diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/mouseevent/MouseEventApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/mouseevent/MouseEventApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/mouseevent/MouseEventApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/mouseevent/MouseEventApp.java @@ -106,42 +106,36 @@ circleBig.setTranslateX(BIG_CIRCLE_STARTX); circleBig.setTranslateY(BIG_CIRCLE_STARTY); // we can set mouse event to any node, also on the rectangle - rectangle.setOnMouseMoved(new EventHandler() { - public void handle(MouseEvent me) { - //log mouse move to console, method listed below - showOnConsole("Mouse moved, x: " + me.getX() + ", y: " + me.getY()); - } + rectangle.setOnMouseMoved((MouseEvent me) -> { + showOnConsole("Mouse moved, x: " + me.getX() + ", y: " + me.getY()); }); - rectangle.setOnScroll(new EventHandler() { - @Override - public void handle(ScrollEvent event) { - double translateX = event.getDeltaX(); - double translateY = event.getDeltaY(); - // reduce the deltas for the circles to stay in the screen - for (Circle c : new Circle[]{circleSmall, circleBig}) { - if (c.getTranslateX() + translateX + c.getRadius() > RECT_WIDTH) { - translateX = RECT_WIDTH - c.getTranslateX() - c.getRadius(); - } - if (c.getTranslateX() + translateX - c.getRadius() < 0) { - translateX = -c.getTranslateX() + c.getRadius(); - } - if (c.getTranslateY() + translateY + c.getRadius() > RECT_HEIGHT) { - translateY = RECT_HEIGHT - c.getTranslateY() - c.getRadius(); - } - if (c.getTranslateY() + translateY - c.getRadius() < 0) { - translateY = -c.getTranslateY() + c.getRadius(); - } + rectangle.setOnScroll((ScrollEvent event) -> { + double translateX = event.getDeltaX(); + double translateY = event.getDeltaY(); + // reduce the deltas for the circles to stay in the screen + for (Circle c : new Circle[]{circleSmall, circleBig}) { + if (c.getTranslateX() + translateX + c.getRadius() > RECT_WIDTH) { + translateX = RECT_WIDTH - c.getTranslateX() - c.getRadius(); } - // move the circles - for (Circle c : new Circle[]{circleSmall, circleBig}) { - c.setTranslateX(c.getTranslateX() + translateX); - c.setTranslateY(c.getTranslateY() + translateY); + if (c.getTranslateX() + translateX - c.getRadius() < 0) { + translateX = -c.getTranslateX() + c.getRadius(); } - // log event - showOnConsole("Scrolled, deltaX: " + event.getDeltaX() - + ", deltaY: " + event.getDeltaY()); + if (c.getTranslateY() + translateY + c.getRadius() > RECT_HEIGHT) { + translateY = RECT_HEIGHT - c.getTranslateY() - c.getRadius(); + } + if (c.getTranslateY() + translateY - c.getRadius() < 0) { + translateY = -c.getTranslateY() + c.getRadius(); + } } + // move the circles + for (Circle c : new Circle[]{circleSmall, circleBig}) { + c.setTranslateX(c.getTranslateX() + translateX); + c.setTranslateY(c.getTranslateY() + translateY); + } + // log event + showOnConsole("Scrolled, deltaX: " + event.getDeltaX() + + ", deltaY: " + event.getDeltaY()); }); return new Group(rectangle, circleBig, circleSmall, console); } @@ -157,60 +151,41 @@ //change a cursor when it is over circle circle.setCursor(Cursor.HAND); //add a mouse listeners - circle.setOnMouseClicked(new EventHandler() { - @Override - public void handle(MouseEvent me) { - showOnConsole("Clicked on" + name + ", " + me.getClickCount() + "times"); - //the event will be passed only to the circle which is on front - me.consume(); + circle.setOnMouseClicked((MouseEvent me) -> { + showOnConsole("Clicked on" + name + ", " + me.getClickCount() + "times"); + //the event will be passed only to the circle which is on front + me.consume(); + }); + circle.setOnMouseDragged((MouseEvent me) -> { + double dragX = me.getSceneX() - dragAnchor.getX(); + double dragY = me.getSceneY() - dragAnchor.getY(); + //calculate new position of the circle + double newXPosition = initX + dragX; + double newYPosition = initY + dragY; + //if new position do not exceeds borders of the rectangle, translate to this position + if ((newXPosition >= circle.getRadius()) && (newXPosition <= RECT_WIDTH - circle.getRadius())) { + circle.setTranslateX(newXPosition); } + if ((newYPosition >= circle.getRadius()) && (newYPosition <= RECT_HEIGHT - circle.getRadius())) { + circle.setTranslateY(newYPosition); + } + showOnConsole(name + " was dragged (x:" + dragX + ", y:" + dragY + ")"); }); - circle.setOnMouseDragged(new EventHandler() { - @Override - public void handle(MouseEvent me) { - double dragX = me.getSceneX() - dragAnchor.getX(); - double dragY = me.getSceneY() - dragAnchor.getY(); - //calculate new position of the circle - double newXPosition = initX + dragX; - double newYPosition = initY + dragY; - //if new position do not exceeds borders of the rectangle, translate to this position - if ((newXPosition >= circle.getRadius()) && (newXPosition <= RECT_WIDTH - circle.getRadius())) { - circle.setTranslateX(newXPosition); - } - if ((newYPosition >= circle.getRadius()) && (newYPosition <= RECT_HEIGHT - circle.getRadius())) { - circle.setTranslateY(newYPosition); - } - showOnConsole(name + " was dragged (x:" + dragX + ", y:" + dragY + ")"); - } + circle.setOnMouseEntered((MouseEvent me) -> { + circle.toFront(); + showOnConsole("Mouse entered " + name); }); - circle.setOnMouseEntered(new EventHandler() { - @Override - public void handle(MouseEvent me) { - //change the z-coordinate of the circle - circle.toFront(); - showOnConsole("Mouse entered " + name); - } + circle.setOnMouseExited((MouseEvent me) -> { + showOnConsole("Mouse exited " + name); }); - circle.setOnMouseExited(new EventHandler() { - @Override - public void handle(MouseEvent me) { - showOnConsole("Mouse exited " + name); - } + circle.setOnMousePressed((MouseEvent me) -> { + initX = circle.getTranslateX(); + initY = circle.getTranslateY(); + dragAnchor = new Point2D(me.getSceneX(), me.getSceneY()); + showOnConsole("Mouse pressed above " + name); }); - circle.setOnMousePressed(new EventHandler() { - @Override - public void handle(MouseEvent me) { - //when mouse is pressed, store initial position - initX = circle.getTranslateX(); - initY = circle.getTranslateY(); - dragAnchor = new Point2D(me.getSceneX(), me.getSceneY()); - showOnConsole("Mouse pressed above " + name); - } - }); - circle.setOnMouseReleased(new EventHandler() { - public void handle(MouseEvent me) { - showOnConsole("Mouse released above " + name); - } + circle.setOnMouseReleased((MouseEvent me) -> { + showOnConsole("Mouse released above " + name); }); return circle; diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/multitouch/MultiTouchImageView.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/multitouch/MultiTouchImageView.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/multitouch/MultiTouchImageView.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/events/multitouch/MultiTouchImageView.java @@ -54,60 +54,39 @@ imageView.setSmooth(true); getChildren().add(imageView); - setOnMousePressed(new EventHandler() { - @Override - public void handle(MouseEvent event) { - - lastX = event.getX(); - lastY = event.getY(); - toFront(); - // postView.toFront(); + setOnMousePressed((MouseEvent event) -> { + lastX = event.getX(); + lastY = event.getY(); + toFront(); + }); + setOnMouseDragged((MouseEvent event) -> { + double layoutX = getLayoutX() + (event.getX() - lastX); + double layoutY = getLayoutY() + (event.getY() - lastY); + + if ((layoutX >= 0) && (layoutX <= (getParent().getLayoutBounds().getWidth()))) { + setLayoutX(layoutX); + } + + if ((layoutY >= 0) && (layoutY <= (getParent().getLayoutBounds().getHeight()))) { + setLayoutY(layoutY); + } + + if ((getLayoutX() + (event.getX() - lastX) <= 0)) { + setLayoutX(0); } }); - setOnMouseDragged(new EventHandler() { - @Override - public void handle(MouseEvent event) { - - double layoutX = getLayoutX() + (event.getX() - lastX); - double layoutY = getLayoutY() + (event.getY() - lastY); - - if ((layoutX >= 0) && (layoutX <= (getParent().getLayoutBounds().getWidth()))) { - setLayoutX(layoutX); - } - - if ((layoutY >= 0) && (layoutY <= (getParent().getLayoutBounds().getHeight()))) { - setLayoutY(layoutY); - } - - if ((getLayoutX() + (event.getX() - lastX) <= 0)) { - setLayoutX(0); - } - } + addEventHandler(ZoomEvent.ZOOM_STARTED, (ZoomEvent event) -> { + startScale = getScaleX(); }); - addEventHandler(ZoomEvent.ZOOM_STARTED, new EventHandler() { - @Override - public void handle(ZoomEvent event) { - startScale = getScaleX(); - } + addEventHandler(ZoomEvent.ZOOM, (ZoomEvent event) -> { + setScaleX(event.getTotalZoomFactor()); + setScaleY(event.getTotalZoomFactor()); }); - addEventHandler(ZoomEvent.ZOOM, new EventHandler() { - @Override - public void handle(ZoomEvent event) { - setScaleX(event.getTotalZoomFactor()); - setScaleY(event.getTotalZoomFactor()); - } + addEventHandler(RotateEvent.ROTATION_STARTED, (RotateEvent event) -> { + startRotate = getRotate(); }); - addEventHandler(RotateEvent.ROTATION_STARTED, new EventHandler() { - @Override - public void handle(RotateEvent event) { - startRotate = getRotate(); - } - }); - addEventHandler(RotateEvent.ROTATE, new EventHandler() { - @Override - public void handle(RotateEvent event) { - setRotate(event.getTotalAngle()); - } + addEventHandler(RotateEvent.ROTATE, (RotateEvent event) -> { + setRotate(event.getTotalAngle()); }); } diff --git a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/stage/StageApp.java b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/stage/StageApp.java --- a/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/stage/StageApp.java +++ b/apps/samples/Ensemble8/src/samples/java/ensemble/samples/scenegraph/stage/StageApp.java @@ -62,38 +62,35 @@ Button button = new Button("Create a Stage"); button.setStyle("-fx-font-size: 24;"); button.setDefaultButton(true); - button.setOnAction(new EventHandler() { - @Override - public void handle(ActionEvent t) { - final Stage stage = new Stage(); - - //create root node of scene, i.e. group - Group rootGroup = new Group(); - - //create scene with set width, height and color - Scene scene = new Scene(rootGroup, 200, 200, Color.WHITESMOKE); - - //set scene to stage - stage.setScene(scene); - - //set title to stage - stage.setTitle("New stage"); - - //center stage on screen - stage.centerOnScreen(); - - //show the stage - stage.show(); - - //add some node to scene - Text text = new Text(20, 110, "JavaFX"); - text.setFill(Color.DODGERBLUE); - text.setEffect(new Lighting()); - text.setFont(Font.font(Font.getDefault().getFamily(), 50)); - - //add text to the main root group - rootGroup.getChildren().add(text); - } + button.setOnAction((ActionEvent t) -> { + final Stage stage = new Stage(); + + //create root node of scene, i.e. group + Group rootGroup = new Group(); + + //create scene with set width, height and color + Scene scene = new Scene(rootGroup, 200, 200, Color.WHITESMOKE); + + //set scene to stage + stage.setScene(scene); + + //set title to stage + stage.setTitle("New stage"); + + //center stage on screen + stage.centerOnScreen(); + + //show the stage + stage.show(); + + //add some node to scene + Text text = new Text(20, 110, "JavaFX"); + text.setFill(Color.DODGERBLUE); + text.setEffect(new Lighting()); + text.setFont(Font.font(Font.getDefault().getFamily(), 50)); + + //add text to the main root group + rootGroup.getChildren().add(text); }); return button; }