changeset 6389:ed4c9c69db41

RT-35197: Use Lambda in FX runtime and samples [Lambdify toys] Summary: This component was lambdified (unlambdified file names recorded in the JIRA) Reviewed-by: lisa.selle
author snorthov
date Fri, 28 Feb 2014 11:47:35 -0500
parents 4171a6877aee
children 4f709b0404ba
files apps/toys/FX8-3DFeatures/src/fx83dfeatures/NearAndFarClipTest.java apps/toys/FX8-3DFeatures/src/fx83dfeatures/ParallelNearAndFarClipTest.java apps/toys/FX8-3DFeatures/src/fx83dfeatures/RepeatTextureTest.java apps/toys/FX8-3DFeatures/src/fx83dfeatures/SimpleMovingCamera.java apps/toys/FX8-3DFeatures/src/fx83dfeatures/SimpleMovingCameraSubScene.java apps/toys/FX8-3DFeatures/src/fx83dfeatures/TwoBoxes.java apps/toys/FX8-3DFeatures/src/fx83dfeatures/WritableMapTestApp.java apps/toys/FXSlideShow/src/fxslideshow/FXSlideShow.java apps/toys/Hello/src/main/java/alertdialog/AlertImpl.java apps/toys/Hello/src/main/java/hello/FloodGame.java apps/toys/Hello/src/main/java/hello/HelloAlert.java apps/toys/Hello/src/main/java/hello/HelloButton.java apps/toys/Hello/src/main/java/hello/HelloCSS.java apps/toys/Hello/src/main/java/hello/HelloChoiceBox.java apps/toys/Hello/src/main/java/hello/HelloColorPicker.java apps/toys/Hello/src/main/java/hello/HelloComboBox.java apps/toys/Hello/src/main/java/hello/HelloDeferSetVisible.java apps/toys/Hello/src/main/java/hello/HelloFPS.java apps/toys/Hello/src/main/java/hello/HelloFonts.java apps/toys/Hello/src/main/java/hello/HelloFullscreen.java apps/toys/Hello/src/main/java/hello/HelloFullscreenAnim.java apps/toys/Hello/src/main/java/hello/HelloFullscreenToggle.java apps/toys/Hello/src/main/java/hello/HelloGestures.java apps/toys/Hello/src/main/java/hello/HelloHTMLEditor.java apps/toys/Hello/src/main/java/hello/HelloImageClipboard.java apps/toys/Hello/src/main/java/hello/HelloLabelBorders.java apps/toys/Hello/src/main/java/hello/HelloLaunchOnNewThread.java apps/toys/Hello/src/main/java/hello/HelloMenu.java apps/toys/Hello/src/main/java/hello/HelloMenuButton.java apps/toys/Hello/src/main/java/hello/HelloOverdraw.java apps/toys/Hello/src/main/java/hello/HelloPagination.java apps/toys/Hello/src/main/java/hello/HelloPopupMenu.java apps/toys/Hello/src/main/java/hello/HelloProgressIndicator.java apps/toys/Hello/src/main/java/hello/HelloRectangle.java apps/toys/Hello/src/main/java/hello/HelloRectangle3D.java apps/toys/Hello/src/main/java/hello/HelloSanity.java apps/toys/Hello/src/main/java/hello/HelloSeparator.java apps/toys/Hello/src/main/java/hello/HelloSnapshot2.java apps/toys/Hello/src/main/java/hello/HelloSplitPane.java apps/toys/Hello/src/main/java/hello/HelloStageOnTop.java apps/toys/Hello/src/main/java/hello/HelloTableView.java apps/toys/Hello/src/main/java/hello/HelloTextArea.java apps/toys/Hello/src/main/java/hello/HelloTextBoxClipboard.java apps/toys/Hello/src/main/java/hello/HelloTextField.java apps/toys/Hello/src/main/java/hello/HelloToggleButton.java apps/toys/Hello/src/main/java/hello/HelloTouch.java apps/toys/Hello/src/main/java/hello/HelloWindowManager.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/CubicCurveT3D.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3D.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect1.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect2.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect3.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffectCache.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity1.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity2.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity3.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/PathT3D.java apps/toys/Shape3DToy/src/main/java/shapet3dtest/TextT3D.java
diffstat 58 files changed, 789 insertions(+), 1922 deletions(-) [+]
line wrap: on
line diff
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/NearAndFarClipTest.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/NearAndFarClipTest.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,12 +25,10 @@
 package fx83dfeatures;
 
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
 import javafx.scene.control.Slider;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Rectangle;
@@ -102,11 +100,7 @@
 
         // Intentionally set depth buffer to false to reduce test complexity
         Scene scene = new Scene(root, WIDTH, HEIGHT, false);
-        scene.setOnMousePressed(new EventHandler<MouseEvent>() {
-            @Override public void handle(MouseEvent event) {
-                System.out.println("Clicked: " + event.getTarget());
-            }
-        });
+        scene.setOnMousePressed(event -> System.out.println("Clicked: " + event.getTarget()));
 
 
         PerspectiveCamera camera = new PerspectiveCamera();
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/ParallelNearAndFarClipTest.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/ParallelNearAndFarClipTest.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,10 +25,8 @@
 package fx83dfeatures;
 
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Rectangle;
 import javafx.stage.Stage;
@@ -95,11 +93,7 @@
 
         // Intentionally set depth buffer to false to reduce test complexity
         Scene scene = new Scene(root, WIDTH, HEIGHT, false);
-        scene.setOnMousePressed(new EventHandler<MouseEvent>() {
-            @Override public void handle(MouseEvent event) {
-                System.out.println("Clicked: " + event.getTarget());
-            }
-        });
+        scene.setOnMousePressed(event -> System.out.println("Clicked: " + event.getTarget()));
 
         return scene;
     }
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/RepeatTextureTest.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/RepeatTextureTest.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,11 +25,9 @@
 package fx83dfeatures;
 
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.image.Image;
-import javafx.scene.input.KeyEvent;
 import javafx.scene.paint.PhongMaterial;
 import javafx.scene.shape.MeshView;
 import javafx.scene.shape.TriangleMesh;
@@ -68,38 +66,36 @@
         root.getChildren().addAll(meshView);
 
         Scene scene = new Scene(root, D, D, true);
-        scene.setOnKeyTyped(new EventHandler<KeyEvent>() {
-            public void handle(KeyEvent e) {
-                switch (e.getCharacter()) {
-                    case "1":
-                        mesh.getTexCoords().setAll(new float[]{
-                            0, 0,
-                            1, 0,
-                            1, 1,
-                            0, 1,});
-                        break;
-                    case "2":
-                        mesh.getTexCoords().setAll(new float[]{
-                            0, 0,
-                            2, 0,
-                            2, 2,
-                            0, 2,});
-                        break;
-                    case "3":
-                        mesh.getTexCoords().setAll(new float[]{
-                            -1, -1,
-                            2, -1,
-                            2, 2,
-                            -1, 2,});
-                        break;
-                    case "4":
-                        mesh.getTexCoords().setAll(new float[]{
-                            -2, -2,
-                            2, -2,
-                            2, 2,
-                            -2, 2,});
-                        break;
-                }
+        scene.setOnKeyTyped(e -> {
+            switch (e.getCharacter()) {
+                case "1":
+                    mesh.getTexCoords().setAll(new float[]{
+                        0, 0,
+                        1, 0,
+                        1, 1,
+                        0, 1,});
+                    break;
+                case "2":
+                    mesh.getTexCoords().setAll(new float[]{
+                        0, 0,
+                        2, 0,
+                        2, 2,
+                        0, 2,});
+                    break;
+                case "3":
+                    mesh.getTexCoords().setAll(new float[]{
+                        -1, -1,
+                        2, -1,
+                        2, 2,
+                        -1, 2,});
+                    break;
+                case "4":
+                    mesh.getTexCoords().setAll(new float[]{
+                        -2, -2,
+                        2, -2,
+                        2, 2,
+                        -2, 2,});
+                    break;
             }
         });
 
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/SimpleMovingCamera.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/SimpleMovingCamera.java	Fri Feb 28 11:47:35 2014 -0500
@@ -28,9 +28,7 @@
 import javafx.animation.Timeline;
 import javafx.animation.TranslateTransition;
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.*;
-import javafx.scene.input.KeyEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.PhongMaterial;
 import javafx.scene.shape.*;
@@ -81,39 +79,36 @@
         transTrans.setCycleCount(Timeline.INDEFINITE);
         transTrans.setByZ(-400);
 
-        scene.setOnKeyTyped(new EventHandler<KeyEvent>() {
-            @Override
-            public void handle(KeyEvent e) {
-                switch (e.getCharacter()) {
-                    case "[":
-                        fovValue -= 2.0;
-                        if (fovValue < 10.0) {
-                            fovValue = 10.0;
-                        }
-                        camera.setFieldOfView(fovValue);
-                        break;
-                    case "]":
-                        fovValue += 2.0;
-                        if (fovValue > 60.0) {
-                            fovValue = 60.0;
-                        }
-                        camera.setFieldOfView(fovValue);
-                        break;
-                    case "r":
-                        rotateCamera += 5.0;
-                        if (rotateCamera > 360.0) {
-                            rotateCamera = 0.0;
-                        }
-                        camera.setRotate(rotateCamera);
-                        break;
-                    case "t":
-                        if (transTrans.getStatus() == Timeline.Status.RUNNING) {
-                            transTrans.pause();
-                        } else {
-                            transTrans.play();
-                        }
-                        break;
-                }
+        scene.setOnKeyTyped(e -> {
+            switch (e.getCharacter()) {
+                case "[":
+                    fovValue -= 2.0;
+                    if (fovValue < 10.0) {
+                        fovValue = 10.0;
+                    }
+                    camera.setFieldOfView(fovValue);
+                    break;
+                case "]":
+                    fovValue += 2.0;
+                    if (fovValue > 60.0) {
+                        fovValue = 60.0;
+                    }
+                    camera.setFieldOfView(fovValue);
+                    break;
+                case "r":
+                    rotateCamera += 5.0;
+                    if (rotateCamera > 360.0) {
+                        rotateCamera = 0.0;
+                    }
+                    camera.setRotate(rotateCamera);
+                    break;
+                case "t":
+                    if (transTrans.getStatus() == Timeline.Status.RUNNING) {
+                        transTrans.pause();
+                    } else {
+                        transTrans.play();
+                    }
+                    break;
             }
         });
         return scene;
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/SimpleMovingCameraSubScene.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/SimpleMovingCameraSubScene.java	Fri Feb 28 11:47:35 2014 -0500
@@ -28,9 +28,7 @@
 import javafx.animation.Timeline;
 import javafx.animation.TranslateTransition;
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.*;
-import javafx.scene.input.KeyEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.PhongMaterial;
 import javafx.scene.shape.*;
@@ -104,39 +102,36 @@
         transTrans.setCycleCount(Timeline.INDEFINITE);
         transTrans.setByZ(-400);
 
-        scene.setOnKeyTyped(new EventHandler<KeyEvent>() {
-            @Override
-            public void handle(KeyEvent e) {
-                switch (e.getCharacter()) {
-                    case "[":
-                        fovValue -= 2.0;
-                        if (fovValue < 10.0) {
-                            fovValue = 10.0;
-                        }
-                        subSceneCamera.setFieldOfView(fovValue);
-                        break;
-                    case "]":
-                        fovValue += 2.0;
-                        if (fovValue > 60.0) {
-                            fovValue = 60.0;
-                        }
-                        subSceneCamera.setFieldOfView(fovValue);
-                        break;
-                    case "r":
-                        rotateCamera += 5.0;
-                        if (rotateCamera > 360.0) {
-                            rotateCamera = 0.0;
-                        }
-                        subSceneCamera.setRotate(rotateCamera);
-                        break;
-                    case "t":
-                        if (transTrans.getStatus() == Timeline.Status.RUNNING) {
-                            transTrans.pause();
-                        } else {
-                            transTrans.play();
-                        }
-                        break;
-                }
+        scene.setOnKeyTyped(e -> {
+            switch (e.getCharacter()) {
+                case "[":
+                    fovValue -= 2.0;
+                    if (fovValue < 10.0) {
+                        fovValue = 10.0;
+                    }
+                    subSceneCamera.setFieldOfView(fovValue);
+                    break;
+                case "]":
+                    fovValue += 2.0;
+                    if (fovValue > 60.0) {
+                        fovValue = 60.0;
+                    }
+                    subSceneCamera.setFieldOfView(fovValue);
+                    break;
+                case "r":
+                    rotateCamera += 5.0;
+                    if (rotateCamera > 360.0) {
+                        rotateCamera = 0.0;
+                    }
+                    subSceneCamera.setRotate(rotateCamera);
+                    break;
+                case "t":
+                    if (transTrans.getStatus() == Timeline.Status.RUNNING) {
+                        transTrans.pause();
+                    } else {
+                        transTrans.play();
+                    }
+                    break;
             }
         });
         return scene;
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/TwoBoxes.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/TwoBoxes.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,12 +25,10 @@
 package fx83dfeatures;
 
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.PointLight;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.PhongMaterial;
 import javafx.scene.shape.Box;
@@ -86,21 +84,13 @@
 
         final Scene scene = new Scene(root, 500, 500, true);
 
-        scene.setOnMousePressed(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                anchorX = event.getSceneX();
-                anchorY = event.getSceneY();
-                anchorAngle = parent.getRotate();
-            }
+        scene.setOnMousePressed(event -> {
+            anchorX = event.getSceneX();
+            anchorY = event.getSceneY();
+            anchorAngle = parent.getRotate();
         });
 
-        scene.setOnMouseDragged(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                parent.setRotate(anchorAngle + anchorX - event.getSceneX());
-            }
-        });
+        scene.setOnMouseDragged(event -> parent.setRotate(anchorAngle + anchorX - event.getSceneX()));
 
         PointLight pointLight = new PointLight(Color.ANTIQUEWHITE);
         pointLight.setTranslateX(15);
--- a/apps/toys/FX8-3DFeatures/src/fx83dfeatures/WritableMapTestApp.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FX8-3DFeatures/src/fx83dfeatures/WritableMapTestApp.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package fx83dfeatures;
 
 import javafx.application.Application;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
@@ -125,58 +123,27 @@
         Group root1 = new Group(sharedMatSphere, sharedMatSphere1, sharedMapSphere);
         
         diffuseMapPicker = new ColorPicker(Color.RED);
-        diffuseMapPicker.valueProperty().addListener(new ChangeListener<Color>() {
-            @Override
-            public void changed(ObservableValue<? extends Color> ov, Color t, Color t1) {
-                generateMap(diffuseMap, t1);
-            }
-        });
+        diffuseMapPicker.valueProperty().addListener((ov, t, t1) -> generateMap(diffuseMap, t1));
 
         diffuseMapCheckBox = new CheckBox("Set Diffuse Map for left two spheres");
         diffuseMapCheckBox.setSelected(false);
-        diffuseMapCheckBox.selectedProperty().addListener(new ChangeListener<Boolean>() {
-
-            @Override
-            public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
-                sharedMaterial.setDiffuseMap(t1 ? diffuseMap : null);
-            }
-        });
+        diffuseMapCheckBox.selectedProperty().addListener((ov, t, t1) -> sharedMaterial.setDiffuseMap(t1 ? diffuseMap : null));
 
         specularMapPicker = new ColorPicker(Color.ANTIQUEWHITE);
-        specularMapPicker.valueProperty().addListener(new ChangeListener<Color>() {
-            @Override
-            public void changed(ObservableValue<? extends Color> ov, Color t, Color t1) {
-                generateMap(specularMap, t1);
-            }
-        });
+        specularMapPicker.valueProperty().addListener((ov, t, t1) -> generateMap(specularMap, t1));
 
         specularMapCheckBox = new CheckBox("Set Specular Map for left two spheres");
         specularMapCheckBox.setSelected(false);
-        specularMapCheckBox.selectedProperty().addListener(new ChangeListener<Boolean>() {
-
-            @Override
-            public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
-                sharedMaterial.setSpecularMap(t1 ? specularMap : null);
-            }
-        });
+        specularMapCheckBox.selectedProperty().addListener((ov, t, t1) -> sharedMaterial.setSpecularMap(t1 ? specularMap : null));
 
         selfIllumMapPicker = new ColorPicker();
-        selfIllumMapPicker.valueProperty().addListener(new ChangeListener<Color>() {
-            @Override
-            public void changed(ObservableValue<? extends Color> ov, Color t, Color t1) {
-                generateMap(selfIllumMap, t1);
-            }
-        });
+        selfIllumMapPicker.valueProperty().addListener((ov, t, t1) -> generateMap(selfIllumMap, t1));
 
         selfIllumMapCheckBox = new CheckBox("Set SelfIllumination Map for left two spheres");
         selfIllumMapCheckBox.setSelected(false);
-        selfIllumMapCheckBox.selectedProperty().addListener(new ChangeListener<Boolean>() {
-
-            @Override
-            public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
-                sharedMapMaterial.setSelfIlluminationMap(selfIllumMap);
-                sharedMaterial.setSelfIlluminationMap(t1 ? selfIllumMap : null);
-            }
+        selfIllumMapCheckBox.selectedProperty().addListener((ov, t, t1) -> {
+            sharedMapMaterial.setSelfIlluminationMap(selfIllumMap);
+            sharedMaterial.setSelfIlluminationMap(t1 ? selfIllumMap : null);
         });
 
         HBox labelBox = new HBox(20);
--- a/apps/toys/FXSlideShow/src/fxslideshow/FXSlideShow.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/FXSlideShow/src/fxslideshow/FXSlideShow.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,20 +29,17 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
 import java.util.logging.Handler;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+
 import javafx.animation.Animation;
 import javafx.animation.FadeTransition;
 import javafx.animation.Transition;
 import javafx.animation.TranslateTransition;
 import javafx.application.Application;
 import javafx.application.Platform;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
 import javafx.concurrent.Task;
-import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.geometry.Rectangle2D;
 import javafx.scene.Scene;
@@ -168,19 +165,16 @@
     }
 
     static ExecutorService executor = Executors.newFixedThreadPool(1,
-            new ThreadFactory() {
-        @Override
-        public Thread newThread(Runnable r) {
-            Thread t = new Thread(r);
+            r -> {
+                Thread t = new Thread(r);
 
-            // Run at low priority to give User Event thread priority
-            t.setPriority(Thread.MIN_PRIORITY);
+                // Run at low priority to give User Event thread priority
+                t.setPriority(Thread.MIN_PRIORITY);
 
-            // Set this worker to daemon, so our app will exit on close.
-            t.setDaemon(true);
-            return t;
-        }
-    });
+                // Set this worker to daemon, so our app will exit on close.
+                t.setDaemon(true);
+                return t;
+            });
     static final ImageLoadingTask image[] = new ImageLoadingTask[3];
     static final int PREV = 2;
     static final int CURRENT = 0;
@@ -285,24 +279,16 @@
         slideIn.setFromX(-shift);
         slideIn.setToX(0.0);
         transition[CURRENT] = slideIn;
-        slideIn.setOnFinished(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                out.setTranslateX(0.0);
-            }
-        });
+        slideIn.setOnFinished(t -> out.setTranslateX(0.0));
         slideIn.play();
 
         final TranslateTransition slideOut = new TranslateTransition(Duration.millis(3000), out);
         slideOut.setFromX(0.0);
         slideOut.setToX(shift);
         transition[NEXT] = slideOut;
-        slideOut.setOnFinished(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                out.setVisible(false);
-                out.setTranslateX(0.0);
-            }
+        slideOut.setOnFinished(t -> {
+            out.setVisible(false);
+            out.setTranslateX(0.0);
         });
         slideOut.play();
     }
@@ -327,12 +313,9 @@
         slideOut.setFromY(0.0);
         slideOut.setToY(shift);
         transition[NEXT] = slideOut;
-        slideOut.setOnFinished(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                out.setVisible(false);
-                out.setTranslateY(0.0);
-            }
+        slideOut.setOnFinished(t -> {
+            out.setVisible(false);
+            out.setTranslateY(0.0);
         });
         slideOut.play();
     }
@@ -343,12 +326,7 @@
         ftIn.setToValue(1.0);
         ftIn.setCycleCount(0);
         transition[CURRENT] = ftIn;
-        ftIn.setOnFinished(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                out.setOpacity(1.0);
-            }
-        });
+        ftIn.setOnFinished(t -> out.setOpacity(1.0));
         ftIn.play();
 
 
@@ -359,12 +337,9 @@
             ftOut.setToValue(0.0);
             ftOut.setCycleCount(0);
             transition[NEXT] = ftOut;
-            ftOut.setOnFinished(new EventHandler<ActionEvent>() {
-                @Override
-                public void handle(ActionEvent t) {
-                    out.setVisible(false);
-                    out.setOpacity(1.0);
-                }
+            ftOut.setOnFinished(t -> {
+                out.setVisible(false);
+                out.setOpacity(1.0);
             });
             ftOut.play();
         }
@@ -503,28 +478,25 @@
         }
     }
     //-------------------------------------
-    final EventHandler<KeyEvent> keyEventHandler = new EventHandler<KeyEvent>() {
-        @Override
-        public void handle(final KeyEvent keyEvent) {
-            switch (keyEvent.getCode()) {
-                case SPACE:
-                case RIGHT:
-                    nextImage(true);
-                    break;
-                case LEFT:
-                    nextImage(false);
-                    break;
-                //Reload/scale the image
-                case R:
-                    if (image[CURRENT] != null) {
-                        image[CURRENT].load();
-                    }
-                    break;
-                case Q:
-                    Platform.exit();
-                default:
-                // do nothing
-            }
+    final EventHandler<KeyEvent> keyEventHandler = keyEvent -> {
+        switch (keyEvent.getCode()) {
+            case SPACE:
+            case RIGHT:
+                nextImage(true);
+                break;
+            case LEFT:
+                nextImage(false);
+                break;
+            //Reload/scale the image
+            case R:
+                if (image[CURRENT] != null) {
+                    image[CURRENT].load();
+                }
+                break;
+            case Q:
+                Platform.exit();
+            default:
+            // do nothing
         }
     };
 
@@ -547,32 +519,26 @@
      */
     private void startAutoForward() {
         if (waitTimeMillis > 0) {
-            Thread ft = new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    LOGGER.finer("Starting Autoforward thread");
-                    while (true) {
-                        long curr = System.currentTimeMillis();
-                        long push = lastImageTime + waitTimeMillis;
-                        long pause = push - curr;
-                        if (lastImageTime > 0) {
-                            if (pause < 0) {
-                                Platform.runLater(new Runnable() {
-                                    @Override
-                                    public void run() {
-                                        LOGGER.finer("auto forwarding");
-                                        nextImage(true);
-                                    }
-                                });
-                                pause = waitTimeMillis;
-                            }
-                        } else {
+            Thread ft = new Thread(() -> {
+                LOGGER.finer("Starting Autoforward thread");
+                while (true) {
+                    long curr = System.currentTimeMillis();
+                    long push = lastImageTime + waitTimeMillis;
+                    long pause = push - curr;
+                    if (lastImageTime > 0) {
+                        if (pause < 0) {
+                            Platform.runLater(() -> {
+                                LOGGER.finer("auto forwarding");
+                                nextImage(true);
+                            });
                             pause = waitTimeMillis;
                         }
-                        try {
-                            Thread.sleep(pause);
-                        } catch (Exception e) {
-                        }
+                    } else {
+                        pause = waitTimeMillis;
+                    }
+                    try {
+                        Thread.sleep(pause);
+                    } catch (Exception e) {
                     }
                 }
             });
@@ -642,18 +608,8 @@
         backdrop.widthProperty().bind(scene.widthProperty());
         backdrop.heightProperty().bind(scene.heightProperty());
 
-        stage.widthProperty().addListener(new ChangeListener<Number>() {
-            @Override
-            public void changed(ObservableValue<? extends Number> ov, Number t, Number newval) {
-                sceneBoundsChanged(scene.getWidth(), scene.getHeight());
-            }
-        });
-        stage.heightProperty().addListener(new ChangeListener<Number>() {
-            @Override
-            public void changed(ObservableValue<? extends Number> ov, Number t, Number newval) {
-                sceneBoundsChanged(scene.getWidth(), scene.getHeight());
-            }
-        });
+        stage.widthProperty().addListener((ov, t, newval) -> sceneBoundsChanged(scene.getWidth(), scene.getHeight()));
+        stage.heightProperty().addListener((ov, t, newval) -> sceneBoundsChanged(scene.getWidth(), scene.getHeight()));
 
         stack.getChildren().addAll(
                 backdrop,
--- a/apps/toys/Hello/src/main/java/alertdialog/AlertImpl.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/alertdialog/AlertImpl.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,8 +25,6 @@
 
 package alertdialog;
 
-import javafx.event.Event;
-import javafx.event.EventHandler;
 import javafx.geometry.Pos;
 import javafx.scene.Node;
 import javafx.scene.Scene;
@@ -94,29 +92,21 @@
         final Button yesButton    = new Button("Yes");
         final Button noButton     = new Button("No");
 
-        okButton.setOnAction(new EventHandler() {
-            public void handle(Event event) {
-                result = AlertResult.OK;
-                closeWindow();
-            }
+        okButton.setOnAction(event -> {
+            result = AlertResult.OK;
+            closeWindow();
         });
-        cancelButton.setOnAction(new EventHandler() {
-            public void handle(Event event) {
-                result = AlertResult.CANCEL;
-                closeWindow();
-            }
+        cancelButton.setOnAction(event -> {
+            result = AlertResult.CANCEL;
+            closeWindow();
         });
-        yesButton.setOnAction(new EventHandler() {
-            public void handle(Event event) {
-                result = AlertResult.YES;
-                closeWindow();
-            }
+        yesButton.setOnAction(event -> {
+            result = AlertResult.YES;
+            closeWindow();
         });
-        noButton.setOnAction(new EventHandler() {
-            public void handle(Event event) {
-                result = AlertResult.NO;
-                closeWindow();
-            }
+        noButton.setOnAction(event -> {
+            result = AlertResult.NO;
+            closeWindow();
         });
 
         Button[] buttons = null;
--- a/apps/toys/Hello/src/main/java/hello/FloodGame.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/FloodGame.java	Fri Feb 28 11:47:35 2014 -0500
@@ -33,8 +33,6 @@
 import javafx.animation.Interpolator;
 import javafx.animation.SequentialTransition;
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -127,29 +125,18 @@
             fadeOut.setFromValue(1);
             fadeOut.setToValue(0);
             fadeOut.setInterpolator(Interpolator.EASE_OUT);
-            fadeOut.setOnFinished( new EventHandler<ActionEvent>() {
-                @Override
-                public void handle(ActionEvent event) {
-                    // setFill
-                    cellf.setFill(newColor);
-                }
-            });
+            fadeOut.setOnFinished( event -> cellf.setFill(newColor));
 
             // fade in
             FadeTransition fadeIn = new FadeTransition(Duration.millis(300), cell);
             fadeIn.setFromValue(0);
             fadeIn.setToValue(1);
             fadeIn.setInterpolator(Interpolator.EASE_OUT);
-            fadeIn.setOnFinished(new EventHandler<ActionEvent>() {
-                // TODO not the best place to put the win check, since
-                // this gets called once for EVERY cell that's changing color
-                @Override
-                public void handle(ActionEvent event) {
-                    if (gameWon()) {
-                        doneLabel.setText("YOU WON!!");
-                    } else {
-                        doneLabel.setText("");
-                    }
+            fadeIn.setOnFinished(event -> {
+                if (gameWon()) {
+                    doneLabel.setText("YOU WON!!");
+                } else {
+                    doneLabel.setText("");
                 }
             });
 
@@ -216,16 +203,14 @@
             button.setGraphic(rect);
             vbox.getChildren().add(button);
           
-            button.setOnAction(new EventHandler<ActionEvent>() {
-                @Override public void handle(ActionEvent e) {
-                    System.out.println("Action on Button");
-                    changingCells.clear();
-                    changingCells = findMatchingCells();
-                    newColor = c;
-                    animate();
-                    numMoves += 1;
-                    label.setText("Moves: " + numMoves);
-                }
+            button.setOnAction(e -> {
+                System.out.println("Action on Button");
+                changingCells.clear();
+                changingCells = findMatchingCells();
+                newColor = c;
+                animate();
+                numMoves += 1;
+                label.setText("Moves: " + numMoves);
             });
         }
         label = new Label();
--- a/apps/toys/Hello/src/main/java/hello/HelloAlert.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloAlert.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,8 +29,6 @@
 import javafx.animation.KeyValue;
 import javafx.animation.Timeline;
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -71,17 +69,15 @@
         button1.setText("Toggle color");
         button1.setLayoutX(25);
         button1.setLayoutY(40);
-        button1.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                boolean answer = Alert.confirm(stage, "Verify Change",
-                        "Really toggle the color?");
-                if (answer) {
-                    Color newColor = Color.RED.equals(rect.getFill())
-                            ? Color.GREEN : Color.RED;
-                    rect.setFill(newColor);
-                } else {
-                    System.err.println("Color change canceled");
-                }
+        button1.setOnAction(e -> {
+            boolean answer = Alert.confirm(stage, "Verify Change",
+                    "Really toggle the color?");
+            if (answer) {
+                Color newColor = Color.RED.equals(rect.getFill())
+                        ? Color.GREEN : Color.RED;
+                rect.setFill(newColor);
+            } else {
+                System.err.println("Color change canceled");
             }
         });
 
@@ -91,15 +87,13 @@
         button2.setText("Question");
         button2.setLayoutX(25);
         button2.setLayoutY(80);
-        button2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                boolean answer = Alert.question(stage, "SF Giants",
-                        "How about those Giants?");
-                if (answer) {
-                    System.err.println("Good answer");
-                } else {
-                    System.err.println("What do you mean 'NO' ???");
-                }
+        button2.setOnAction(e -> {
+            boolean answer = Alert.question(stage, "SF Giants",
+                    "How about those Giants?");
+            if (answer) {
+                System.err.println("Good answer");
+            } else {
+                System.err.println("What do you mean 'NO' ???");
             }
         });
 
@@ -109,11 +103,9 @@
         button3.setText("Dialog");
         button3.setLayoutX(25);
         button3.setLayoutY(120);
-        button3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                Alert.inform(stage, "Hi, I'll be your modal dialog today");
-                System.err.println("Continue");
-            }
+        button3.setOnAction(e -> {
+            Alert.inform(stage, "Hi, I'll be your modal dialog today");
+            System.err.println("Continue");
         });
 
         root.getChildren().add(button3);
--- a/apps/toys/Hello/src/main/java/hello/HelloButton.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloButton.java	Fri Feb 28 11:47:35 2014 -0500
@@ -27,8 +27,6 @@
 
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -51,17 +49,9 @@
         button.setLayoutX(25);
         button.setLayoutY(40);
 
-        button.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("Event: " + e);
-            }
-        });
+        button.setOnAction(e -> System.out.println("Event: " + e));
 
-        button.addEventHandler(KeyEvent.KEY_RELEASED, new EventHandler<KeyEvent>() {
-            @Override public void handle(KeyEvent e) {
-                System.out.println("Event: " + e);
-            }
-        });
+        button.addEventHandler(KeyEvent.KEY_RELEASED, e -> System.out.println("Event: " + e));
 
         ((Group)scene.getRoot()).getChildren().add(button);
 
--- a/apps/toys/Hello/src/main/java/hello/HelloCSS.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloCSS.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Orientation;
 import javafx.scene.Group;
 import javafx.scene.Node;
@@ -93,16 +91,13 @@
         r2.setStyle("-fx-base: yellow; -fx-border-color: yellow;");
 
         final Button swapButton = new Button("Move");
-        swapButton.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent actionEvent) {
-                if (swapButton.getParent() == r1) {
-                    r1.getChildren().remove(swapButton);
-                    r2.getChildren().add(swapButton);
-                } else if (swapButton.getParent() == r2) {
-                    r2.getChildren().remove(swapButton);
-                    r1.getChildren().add(swapButton);
-                }
+        swapButton.setOnAction(actionEvent -> {
+            if (swapButton.getParent() == r1) {
+                r1.getChildren().remove(swapButton);
+                r2.getChildren().add(swapButton);
+            } else if (swapButton.getParent() == r2) {
+                r2.getChildren().remove(swapButton);
+                r1.getChildren().add(swapButton);
             }
         });
         r1.getChildren().add(swapButton);
--- a/apps/toys/Hello/src/main/java/hello/HelloChoiceBox.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloChoiceBox.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
 import javafx.scene.control.ChoiceBox;
@@ -53,19 +51,11 @@
         VBox vbox = new VBox(5);
         
         Button slt = new Button("Select item 2");
-        slt.setOnAction(new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent t) {
-                choiceBox.getSelectionModel().select(2);
-            }
-        });
+        slt.setOnAction(t -> choiceBox.getSelectionModel().select(2));
         vbox.getChildren().add(slt);
         
         Button clearItems = new Button("Clear items sequence");
-        clearItems.setOnAction(new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent t) {
-                choiceBox.getItems().clear();
-            }
-        });
+        clearItems.setOnAction(t -> choiceBox.getItems().clear());
         vbox.getChildren().add(clearItems);
         
         HBox hbox = new HBox(10);
--- a/apps/toys/Hello/src/main/java/hello/HelloColorPicker.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloColorPicker.java	Fri Feb 28 11:47:35 2014 -0500
@@ -46,12 +46,10 @@
     @Override public void start(Stage stage) {
         stage.setTitle("ColorPicker");
 
-        EventHandler<ActionEvent> actionEventHandler = new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent t) {
-                ColorPicker cp = (ColorPicker) t.getTarget();
-                Color c = cp.getValue();
-                System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue());
-            }
+        EventHandler<ActionEvent> actionEventHandler = t -> {
+            ColorPicker cp = (ColorPicker) t.getTarget();
+            Color c = cp.getValue();
+            System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue());
         };
 
         // default mode combobox
--- a/apps/toys/Hello/src/main/java/hello/HelloComboBox.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloComboBox.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,20 +26,15 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.ListCell;
-import javafx.scene.control.ListView;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.VBox;
 import javafx.scene.text.Font;
 import javafx.stage.Stage;
-import javafx.util.Callback;
-
 import javafx.scene.control.ComboBox;
 import javafx.scene.Node;
 import javafx.scene.control.Label;
@@ -92,19 +87,17 @@
         
         ComboBox fontComboBox = new ComboBox();
         fontComboBox.setItems(fonts);
-        fontComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
-            @Override public ListCell<String> call(ListView<String> param) {
-                final ListCell<String> cell = new ListCell<String>() {
-                    @Override public void updateItem(String item, boolean empty) {
-                        super.updateItem(item, empty);
-                        if (item != null) {
-                            setText(item);
-                            setFont(new Font(item, 14));
-                        }
+        fontComboBox.setCellFactory(param -> {
+            final ListCell<String> cell = new ListCell<String>() {
+                @Override public void updateItem(String item, boolean empty) {
+                    super.updateItem(item, empty);
+                    if (item != null) {
+                        setText(item);
+                        setFont(new Font(item, 14));
                     }
-                };
-                return cell;
-            }
+                }
+            };
+            return cell;
         });
         nonEditBox.getChildren().add(fontComboBox);
         
@@ -127,29 +120,23 @@
         comboBox3.setItems(strings);
         comboBox3.setEditable(true);
         editBox.getChildren().add(comboBox3);
-        comboBox3.valueProperty().addListener(new ChangeListener<String>() {
-            @Override public void changed(ObservableValue ov, String t, String t1) {
-                System.out.println("new value: " + t1);
-            }
-        });
+        comboBox3.valueProperty().addListener((ov, t, t1) -> System.out.println("new value: " + t1));
         
         ComboBox editFontComboBox = new ComboBox();
         editFontComboBox.setId("third-editable");
         editFontComboBox.setItems(fonts);
         editFontComboBox.setEditable(true);
-        editFontComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
-            @Override public ListCell<String> call(ListView<String> param) {
-                final ListCell<String> cell = new ListCell<String>() {
-                    @Override public void updateItem(String item, boolean empty) {
-                        super.updateItem(item, empty);
-                        if (item != null) {
-                            setText(item);
-                            setFont(new Font(item, 14));
-                        }
+        editFontComboBox.setCellFactory(param -> {
+            final ListCell<String> cell = new ListCell<String>() {
+                @Override public void updateItem(String item, boolean empty) {
+                    super.updateItem(item, empty);
+                    if (item != null) {
+                        setText(item);
+                        setFont(new Font(item, 14));
                     }
-                };
-                return cell;
-            }
+                }
+            };
+            return cell;
         });
         editBox.getChildren().add(editFontComboBox);
         
--- a/apps/toys/Hello/src/main/java/hello/HelloDeferSetVisible.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloDeferSetVisible.java	Fri Feb 28 11:47:35 2014 -0500
@@ -51,20 +51,14 @@
         root.getChildren().add(rect);
         stage.setScene(scene);
 
-        new Thread(new Runnable() {
-           public void run() {
+        new Thread(() -> {
                System.err.println("Waiting to make stage visible");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {}
                System.err.println("Now make stage visible!");
-               Platform.runLater(new Runnable() {
-                   public void run() {
-                        stage.show();
-                   }
-               });
-           }
-        }).start();
+               Platform.runLater(() -> stage.show());
+           }).start();
     }
 
     /**
--- a/apps/toys/Hello/src/main/java/hello/HelloFPS.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloFPS.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,8 +29,6 @@
 import javafx.animation.KeyValue;
 import javafx.animation.Timeline;
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.paint.Color;
@@ -89,14 +87,12 @@
         tlTracker.setCycleCount(Timeline.INDEFINITE);
         final KeyFrame kfTracker = new KeyFrame(
                 Duration.millis(500),
-                new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent event){
-                int fps = (int) Math.round(tracker.getInstantFPS());
-                text.setText("" + fps + " fps");
-                curColorIdx = (curColorIdx + 1) % colors.length;
-                text.setFill(colors[curColorIdx]);
-            }
-        });
+                event -> {
+                    int fps = (int) Math.round(tracker.getInstantFPS());
+                    text.setText("" + fps + " fps");
+                    curColorIdx = (curColorIdx + 1) % colors.length;
+                    text.setFill(colors[curColorIdx]);
+                });
         tlTracker.getKeyFrames().add(kfTracker);
         tlTracker.play();
     }
--- a/apps/toys/Hello/src/main/java/hello/HelloFonts.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloFonts.java	Fri Feb 28 11:47:35 2014 -0500
@@ -35,7 +35,6 @@
 import javafx.scene.text.FontPosture;
 import javafx.scene.text.FontWeight;
 import javafx.stage.Stage;
-import javafx.util.Callback;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -103,18 +102,13 @@
         column2.setCellValueFactory(
                 new PropertyValueFactory<FontData,Font>("font")
         );
-        column2.setCellFactory(new Callback<TableColumn<FontData, Font>, TableCell<FontData,Font>>() {
+        column2.setCellFactory(param -> new TableCell<FontData, Font>() {
             @Override
-            public TableCell<FontData, Font> call(TableColumn<FontData, Font> param) {
-                return new TableCell<FontData, Font>() {
-                    @Override
-                    protected void updateItem(Font item, boolean empty) {
+            protected void updateItem(Font item, boolean empty) {
 //                        if (item == getItem()) return;
-                        if (item == null) System.err.println("**********NULL why is it null");
-                        setText(sampleText);
-                        if (item != null) setFont(item);
-                    }
-                };
+                if (item == null) System.err.println("**********NULL why is it null");
+                setText(sampleText);
+                if (item != null) setFont(item);
             }
         });
         table.setItems(FXCollections.observableList(data));
@@ -152,18 +146,13 @@
         column4.setCellValueFactory(
                 new PropertyValueFactory<FontData,Font>("font")
         );
-        column4.setCellFactory(new Callback<TableColumn<FontData, Font>, TableCell<FontData,Font>>() {
+        column4.setCellFactory(param -> new TableCell<FontData, Font>() {
             @Override
-            public TableCell<FontData, Font> call(TableColumn<FontData, Font> param) {
-                return new TableCell<FontData, Font>() {
-                    @Override
-                    protected void updateItem(Font item, boolean empty) {
+            protected void updateItem(Font item, boolean empty) {
 //                        if (item == getItem()) return;
-                        if (item == null) System.err.println("**********NULL why is it null");
-                        setText(sampleText);
-                        if (item != null) setFont(item);
-                    }
-                };
+                if (item == null) System.err.println("**********NULL why is it null");
+                setText(sampleText);
+                if (item != null) setFont(item);
             }
         });
 
--- a/apps/toys/Hello/src/main/java/hello/HelloFullscreen.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloFullscreen.java	Fri Feb 28 11:47:35 2014 -0500
@@ -27,8 +27,6 @@
 
 import javafx.application.Application;
 import javafx.application.Platform;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -57,22 +55,14 @@
         button.setText("Exit");
         button.setLayoutX(15);
         button.setLayoutY(100);
-        button.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                Platform.exit();
-            }
-        });
+        button.setOnAction(e -> Platform.exit());
         root.getChildren().add(button);
 
         Button button2 = new Button();
         button2.setText("Close");
         button2.setLayoutX(75);
         button2.setLayoutY(100);
-        button2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                stage.hide();
-            }
-        });
+        button2.setOnAction(e -> stage.hide());
         root.getChildren().add(button2);
 
         stage.setScene(scene);
--- a/apps/toys/Hello/src/main/java/hello/HelloFullscreenAnim.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloFullscreenAnim.java	Fri Feb 28 11:47:35 2014 -0500
@@ -31,8 +31,6 @@
 import javafx.animation.Timeline;
 import javafx.application.Application;
 import javafx.application.Platform;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Rectangle2D;
 import javafx.scene.Group;
 import javafx.scene.Scene;
@@ -74,11 +72,7 @@
         button.setText("Exit");
         button.setLayoutX(15);
         button.setLayoutY(100);
-        button.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                Platform.exit();
-            }
-        });
+        button.setOnAction(e -> Platform.exit());
         root.getChildren().add(button);
 
         stage.setScene(scene);
--- a/apps/toys/Hello/src/main/java/hello/HelloFullscreenToggle.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloFullscreenToggle.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -47,11 +45,7 @@
         button.setText("Toggle Fullscreen");
         button.setLayoutX(25);
         button.setLayoutY(40);
-        button.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                stage.setFullScreen(!stage.isFullScreen());
-            }
-        });
+        button.setOnAction(e -> stage.setFullScreen(!stage.isFullScreen()));
 
         root.getChildren().add(button);
         stage.setScene(scene);
--- a/apps/toys/Hello/src/main/java/hello/HelloGestures.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloGestures.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,13 +26,11 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.input.RotateEvent;
 import javafx.scene.input.ScrollEvent;
 import javafx.scene.input.ZoomEvent;
 import javafx.scene.Scene;
 import javafx.scene.control.*;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.Pane;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
@@ -101,79 +99,47 @@
     path.getElements().add(LineTo6);
     path.getElements().add(LineTo7);
 
-    path.setOnRotate(new EventHandler <RotateEvent>() {
-        public void handle(RotateEvent event) {
-            path.setRotate(path.getRotate() + event.getAngle());
-        }
+    path.setOnRotate(event -> path.setRotate(path.getRotate() + event.getAngle()));
+
+    path.setOnScroll(event -> {
+        path.setTranslateX(path.getTranslateX() + event.getDeltaX());
+        path.setTranslateY(path.getTranslateY() + event.getDeltaY());
     });
 
-    path.setOnScroll(new EventHandler <ScrollEvent>() {
-        @Override public void handle(ScrollEvent event) {
-            path.setTranslateX(path.getTranslateX() + event.getDeltaX());
-            path.setTranslateY(path.getTranslateY() + event.getDeltaY());
-        }
-    });
-
-    path.setOnZoom(new EventHandler <ZoomEvent>() {
-        @Override public void handle(ZoomEvent event) {
-            path.setScaleX(path.getScaleX() * event.getZoomFactor());
-            path.setScaleY(path.getScaleY() * event.getZoomFactor());
-        }
+    path.setOnZoom(event -> {
+        path.setScaleX(path.getScaleX() * event.getZoomFactor());
+        path.setScaleY(path.getScaleY() * event.getZoomFactor());
     });
 
     Button btnRotateR = new Button("Send Rotate Right");
-    btnRotateR.setOnMousePressed(new EventHandler<MouseEvent>() {
-        @Override public void handle(MouseEvent event) {
-            path.fireEvent(new RotateEvent(RotateEvent.ROTATE, 350, 300, 350, 300,
-                    false, false, false, false, false, false, 30, 30, null));
-        }
-    });
+    btnRotateR.setOnMousePressed(event -> path.fireEvent(new RotateEvent(RotateEvent.ROTATE, 350, 300, 350, 300,
+            false, false, false, false, false, false, 30, 30, null)));
 
     Button btnRotateL = new Button("Send Rotate Left");
-    btnRotateL.setOnMousePressed(new EventHandler <MouseEvent>() {
-        @Override public void handle(MouseEvent event) {
-            path.fireEvent(new RotateEvent(RotateEvent.ROTATE, 350, 300, 350, 300,
-                    false, false, false, false, false, false, -30, -30, null));
-        }
-    });
+    btnRotateL.setOnMousePressed(event -> path.fireEvent(new RotateEvent(RotateEvent.ROTATE, 350, 300, 350, 300,
+            false, false, false, false, false, false, -30, -30, null)));
 
     Button btnScrollU = new Button("Send Scroll Up");
-    btnScrollU.setOnMousePressed(new EventHandler <MouseEvent>() {
-        @Override public void handle(MouseEvent event) {
-            path.fireEvent(new ScrollEvent(ScrollEvent.SCROLL,
-                    350, 300, 350, 300, false, false, false, false, false, false,
-                    0, -25, 0, -25,
-                    ScrollEvent.HorizontalTextScrollUnits.NONE, 1,
-                    ScrollEvent.VerticalTextScrollUnits.NONE, 1, 1, null));
-        }
-    });
+    btnScrollU.setOnMousePressed(event -> path.fireEvent(new ScrollEvent(ScrollEvent.SCROLL,
+            350, 300, 350, 300, false, false, false, false, false, false,
+            0, -25, 0, -25,
+            ScrollEvent.HorizontalTextScrollUnits.NONE, 1,
+            ScrollEvent.VerticalTextScrollUnits.NONE, 1, 1, null)));
 
     Button btnScrollD = new Button("Send Scroll Down");
-    btnScrollD.setOnMousePressed(new EventHandler <MouseEvent>() {
-        @Override public void handle(MouseEvent event) {
-            path.fireEvent(new ScrollEvent(ScrollEvent.SCROLL,
-                    350, 300, 350, 300, false, false, false, false, false, false,
-                    0, 25, 0, 25,
-                    ScrollEvent.HorizontalTextScrollUnits.NONE, 1,
-                    ScrollEvent.VerticalTextScrollUnits.NONE, 1, 1, null));
-        }
-    });
+    btnScrollD.setOnMousePressed(event -> path.fireEvent(new ScrollEvent(ScrollEvent.SCROLL,
+            350, 300, 350, 300, false, false, false, false, false, false,
+            0, 25, 0, 25,
+            ScrollEvent.HorizontalTextScrollUnits.NONE, 1,
+            ScrollEvent.VerticalTextScrollUnits.NONE, 1, 1, null)));
 
     Button btnZoomIn = new Button("Send Zoom In");
-    btnZoomIn.setOnMousePressed(new EventHandler <MouseEvent>() {
-        @Override public void handle(MouseEvent event) {
-            path.fireEvent(new ZoomEvent(ZoomEvent.ZOOM, 350, 300, 350, 300,
-                    false, false, false, false, false, false, 1.1, 1.1, null));
-        }
-    });
+    btnZoomIn.setOnMousePressed(event -> path.fireEvent(new ZoomEvent(ZoomEvent.ZOOM, 350, 300, 350, 300,
+            false, false, false, false, false, false, 1.1, 1.1, null)));
 
     Button btnZoomOut = new Button("Send Zoom Out");
-    btnZoomOut.setOnMousePressed(new EventHandler <MouseEvent>() {
-        @Override public void handle(MouseEvent event) {
-            path.fireEvent(new ZoomEvent(ZoomEvent.ZOOM, 350, 300, 350, 300,
-                    false, false, false, false, false, false, 0.9, 0.9, null));
-        }
-    });
+    btnZoomOut.setOnMousePressed(event -> path.fireEvent(new ZoomEvent(ZoomEvent.ZOOM, 350, 300, 350, 300,
+            false, false, false, false, false, false, 0.9, 0.9, null)));
 
     VBox vb = new VBox(15);
     vb.getChildren().addAll(btnRotateR, btnRotateL, btnScrollU, btnScrollD,
--- a/apps/toys/Hello/src/main/java/hello/HelloHTMLEditor.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloHTMLEditor.java	Fri Feb 28 11:47:35 2014 -0500
@@ -27,8 +27,6 @@
 
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Insets;
 import javafx.geometry.Orientation;
 import javafx.scene.Group;
@@ -61,12 +59,7 @@
         root.getChildren().add(htmlEditor);
 
         Button dumpHTMLButton = new Button("Dump HTML");
-        dumpHTMLButton.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent arg0) {
-                System.out.println(htmlEditor.getHtmlText());
-            }
-        });
+        dumpHTMLButton.setOnAction(arg0 -> System.out.println(htmlEditor.getHtmlText()));
 
         root.getChildren().add(dumpHTMLButton);
 
--- a/apps/toys/Hello/src/main/java/hello/HelloImageClipboard.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloImageClipboard.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,7 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
@@ -55,27 +54,19 @@
         overlay.setWidth(800);
         overlay.setHeight(600);
         overlay.setFill(Color.TRANSPARENT);
-        EventHandler<DragEvent> drop =  new EventHandler<DragEvent>() {
-                public void handle(DragEvent de) {
-                    checkBoard(de.getDragboard(), de);
-                }
-            };
+        EventHandler<DragEvent> drop =  de -> checkBoard(de.getDragboard(), de);
             
-        EventHandler<DragEvent> enter =  new EventHandler<DragEvent>() {
-                public void handle(DragEvent de) {
-                    if (de != null && de.getDragboard() != null && de.getDragboard().hasImage()) {
-                        de.acceptTransferModes(TransferMode.ANY);
-                    }
-                }
-            };
+        EventHandler<DragEvent> enter =  de -> {
+            if (de != null && de.getDragboard() != null && de.getDragboard().hasImage()) {
+                de.acceptTransferModes(TransferMode.ANY);
+            }
+        };
 
-        EventHandler<DragEvent> dragged =  new EventHandler<DragEvent>() {
-                public void handle(DragEvent de) {
-                    if (de != null && de.getDragboard() != null && de.getDragboard().hasImage()) {
-                        de.acceptTransferModes(TransferMode.ANY);
-                    }
-                }
-            };
+        EventHandler<DragEvent> dragged =  de -> {
+            if (de != null && de.getDragboard() != null && de.getDragboard().hasImage()) {
+                de.acceptTransferModes(TransferMode.ANY);
+            }
+        };
 
         overlay.setOnDragDropped(drop);
         overlay.setOnDragEntered(enter);
@@ -93,19 +84,13 @@
         pasteBtn.setTranslateX(200);
         pasteBtn.setTranslateY(30);
 
-        clearBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) { clear(); }
+        clearBtn.setOnAction(e -> clear());
+        copyBtn.setOnAction(e -> {
+            ClipboardContent content = new ClipboardContent();
+            content.putImage(imageView.getImage());
+            Clipboard.getSystemClipboard().setContent(content);
         });
-        copyBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                ClipboardContent content = new ClipboardContent();
-                content.putImage(imageView.getImage());
-                Clipboard.getSystemClipboard().setContent(content);
-            }
-        });
-        pasteBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) { checkBoard(Clipboard.getSystemClipboard(), null); }
-        });
+        pasteBtn.setOnAction(e -> checkBoard(Clipboard.getSystemClipboard(), null));
         
         Group root = (Group)scene.getRoot();
         root.getChildren().add(overlay);
--- a/apps/toys/Hello/src/main/java/hello/HelloLabelBorders.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloLabelBorders.java	Fri Feb 28 11:47:35 2014 -0500
@@ -34,7 +34,6 @@
 import javafx.scene.control.ListView;
 import javafx.scene.control.Tooltip;
 import javafx.stage.Stage;
-import javafx.util.Callback;
 
 
 /**
@@ -197,12 +196,7 @@
         listView.getStyleClass().add("hello-label-borders");
 
         // We want the ListCells in our ListView to be LabelListCells.
-        listView.setCellFactory(new Callback<ListView<Data>, ListCell<Data>>() {
-            @Override
-            public ListCell<Data> call(ListView param) {
-                return new LabelListCell();
-            }
-        });
+        listView.setCellFactory(param -> new LabelListCell());
 
         Scene scene = new Scene(listView);
         scene.getStylesheets().add("/hello/hello.css");
--- a/apps/toys/Hello/src/main/java/hello/HelloLaunchOnNewThread.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloLaunchOnNewThread.java	Fri Feb 28 11:47:35 2014 -0500
@@ -74,24 +74,22 @@
      * @param args the command line arguments
      */
     public static void main(final String[] args) {
-        new Thread(new Runnable() {
-            public void run() {
-                // Sleep for a very short time to ensure main thread exits,
-                // since that will provoke RT-9824
-                try {
-                    Thread.sleep(100);
-                } catch (InterruptedException ex) {}
-                System.err.println("Calling Application.launch from currentThread="
-                        + Thread.currentThread().getName());
-                System.err.print("LAUNCHING...");
-                System.err.flush();
-                long startTime = System.nanoTime();
-                Application.launch(HelloLaunchOnNewThread.class, args);
-                long endTime = System.nanoTime();
-                long elapsedMsec = (endTime - startTime + 500000) / 1000000;
-                System.err.println("DONE: elapsed time = " + elapsedMsec + " msec");
-                System.err.println("You should now see the 'HelloWorld' rectangle in the window");
-            }
+        new Thread(() -> {
+            // Sleep for a very short time to ensure main thread exits,
+            // since that will provoke RT-9824
+            try {
+                Thread.sleep(100);
+            } catch (InterruptedException ex) {}
+            System.err.println("Calling Application.launch from currentThread="
+                    + Thread.currentThread().getName());
+            System.err.print("LAUNCHING...");
+            System.err.flush();
+            long startTime = System.nanoTime();
+            Application.launch(HelloLaunchOnNewThread.class, args);
+            long endTime = System.nanoTime();
+            long elapsedMsec = (endTime - startTime + 500000) / 1000000;
+            System.err.println("DONE: elapsed time = " + elapsedMsec + " msec");
+            System.err.println("You should now see the 'HelloWorld' rectangle in the window");
         }).start();
         System.err.println("Main thread exiting: currentThread="
                     + Thread.currentThread().getName());
--- a/apps/toys/Hello/src/main/java/hello/HelloMenu.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloMenu.java	Fri Feb 28 11:47:35 2014 -0500
@@ -27,12 +27,7 @@
 
 import javafx.application.Application;
 import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
 import javafx.beans.property.BooleanProperty;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
-import javafx.event.ActionEvent;
-import javafx.event.Event;
 import javafx.event.EventHandler;
 import javafx.geometry.Pos;
 import javafx.scene.Node;
@@ -69,11 +64,9 @@
         Scene scene = new Scene(new VBox(20), 400, 350);
         final MenuBar menuBar = new MenuBar();
         final String os = System.getProperty("os.name");
-        EventHandler actionHandler = new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent t) {
-                if (t.getTarget() instanceof MenuItem) {
-                    System.out.println(((MenuItem)t.getTarget()).getText() + " - action called");
-                }
+        EventHandler actionHandler = t -> {
+            if (t.getTarget() instanceof MenuItem) {
+                System.out.println(((MenuItem)t.getTarget()).getText() + " - action called");
             }
         };
 
@@ -89,20 +82,12 @@
         showMessagesItem = new CheckMenuItem("Enable onShowing/onHiding _messages", 
                                              new ImageView(new Image("hello/about_16.png")));
         MenuItem menu15 = new MenuItem("E_xit");
-        menu15.setOnAction(new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent t) {
-                System.exit(0);
-            }
-        });
+        menu15.setOnAction(t -> System.exit(0));
         final String change[] = {"Change Text", "Change Back"};
         final MenuItem menu16 = new MenuItem(change[0]);
         final boolean toggle = false;
         menu16.setAccelerator(KeyCombination.keyCombination("Shortcut+C"));
-        menu16.setOnAction(new EventHandler<ActionEvent>() {
-            public void handle(ActionEvent t) {
-                menu16.setText((menu16.getText().equals(change[0])) ? change[1] : change[0]);
-            }
-        });
+        menu16.setOnAction(t -> menu16.setText((menu16.getText().equals(change[0])) ? change[1] : change[0]));
         menu1.getItems().addAll(menu11, menu12, menu13, showMessagesItem, new SeparatorMenuItem(), menu15, menu16);
 
 
@@ -113,11 +98,9 @@
         menu112.setOnAction(actionHandler);
         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(valueModel -> {
+            menu112.setVisible(menu113.isSelected());
+            System.err.println("MenuItem \"foo\" is now " + (menu112.isVisible() ? "" : "not") + " visible.");
         });
         menu11.getItems().addAll(menu111, menu112, menu113);
 
@@ -171,12 +154,10 @@
         radioMI1.setToggleGroup(group);
         radioMI2.setToggleGroup(group);
 
-        InvalidationListener selectedListener = new InvalidationListener() {
-            @Override public void invalidated(Observable valueModel) {
-                MenuItem mi = (MenuItem)((BooleanProperty)valueModel).getBean();
-                boolean selected = ((BooleanProperty)valueModel).get();
-                System.err.println(mi.getText() + " - " + selected);
-            }
+        InvalidationListener selectedListener = valueModel -> {
+            MenuItem mi = (MenuItem)((BooleanProperty)valueModel).getBean();
+            boolean selected = ((BooleanProperty)valueModel).get();
+            System.err.println(mi.getText() + " - " + selected);
         };
 
         checkMI1.selectedProperty().addListener(selectedListener);
@@ -212,29 +193,22 @@
             hbox.getChildren().add(sysMenuLabel);
             ((VBox)scene.getRoot()).getChildren().add(hbox);
             sysMenuLabel.setVisible((menuBar.getHeight() == 0) ? true : false);
-            menuBar.heightProperty().addListener(new ChangeListener<Number>() {
-
-                public void changed(ObservableValue<? extends Number> ov, Number t, Number t1) {
-                    sysMenuLabel.setVisible((menuBar.getHeight() == 0) ? true : false);
-                }
-            });
+            menuBar.heightProperty().addListener((ov, t, t1) -> sysMenuLabel.setVisible((menuBar.getHeight() == 0) ? true : false));
         }
         stage.setScene(scene);
         stage.show();
     }
 
-    private EventHandler showHideHandler = new EventHandler<Event>() {
-        public void handle(Event t) {
-            Menu menu = (Menu)t.getSource();
-            if (t.getEventType() == Menu.ON_SHOWING && 
-                    menu.getText().equals("_Submenu")) {
-                Date date = new Date();
-                String time = new SimpleDateFormat("HH:mm:ss").format(date);
-                menu.getItems().get(0).setText("The time is " + time);
-            }
-            if (showMessagesItem.isSelected()) {
-                System.out.println(((Menu)t.getSource()).getText() + " " + t.getEventType());
-            }
+    private EventHandler showHideHandler = t -> {
+        Menu menu = (Menu)t.getSource();
+        if (t.getEventType() == Menu.ON_SHOWING && 
+                menu.getText().equals("_Submenu")) {
+            Date date = new Date();
+            String time = new SimpleDateFormat("HH:mm:ss").format(date);
+            menu.getItems().get(0).setText("The time is " + time);
+        }
+        if (showMessagesItem.isSelected()) {
+            System.out.println(((Menu)t.getSource()).getText() + " " + t.getEventType());
         }
     };
 
--- a/apps/toys/Hello/src/main/java/hello/HelloMenuButton.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloMenuButton.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,10 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Side;
 import javafx.scene.Node;
 import javafx.scene.Scene;
@@ -46,7 +42,6 @@
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.stage.Stage;
-
 import static javafx.geometry.NodeOrientation.*;
 
 
@@ -82,11 +77,7 @@
 
         Button button = new Button("Simple Button");
         button.setTooltip(new Tooltip("Tooltip for Simple Button"));
-        button.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("Simple Button");
-            }
-         });
+        button.setOnAction(e -> System.out.println("Simple Button"));
         vBox1.getChildren().add(button);
 
 
@@ -100,19 +91,11 @@
         mb.setTooltip(new Tooltip("Tooltip for MenuButton"));
 
         final MenuItem coke = new MenuItem("Coke");
-        coke.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println(coke.getText());
-            }
-         });
+        coke.setOnAction(e -> System.out.println(coke.getText()));
         mb.getItems().add(coke);
 
         final MenuItem pepsi = new MenuItem("Pepsi");
-        pepsi.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println(pepsi.getText());
-            }
-         });
+        pepsi.setOnAction(e -> System.out.println(pepsi.getText()));
         mb.getItems().add(pepsi);
         mb.getItems().addAll(new MenuItem("Foo"),
                              new MenuItem("Foo"),
@@ -140,26 +123,14 @@
         SplitMenuButton smb = new SplitMenuButton();
         smb.setText("SplitMenuButton1");
         smb.setTooltip(new Tooltip("Tooltip for SplitMenuButton1"));
-        smb.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("SplitMenuButton1");
-            }
-        });
+        smb.setOnAction(e -> System.out.println("SplitMenuButton1"));
 
         MenuItem mi = new MenuItem("Divide");
-        mi.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("Divide");
-            }
-         });
+        mi.setOnAction(e -> System.out.println("Divide"));
         smb.getItems().add(mi);
 
         mi = new MenuItem("Conquer");
-        mi.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("Conquer");
-            }
-         });
+        mi.setOnAction(e -> System.out.println("Conquer"));
         smb.getItems().add(mi);
 
         vBox1.getChildren().add(smb);
@@ -175,33 +146,25 @@
 
         final SplitMenuButton smb3 = new SplitMenuButton();
         smb3.setTooltip(new Tooltip("Tooltip for SplitMenuButton2"));
-        smb3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("SplitMenuButton2");
-            }
-        });
+        smb3.setOnAction(e -> System.out.println("SplitMenuButton2"));
 
         {
             final MenuItem menuItem = new MenuItem("Land");
-            menuItem.setOnAction(new EventHandler<ActionEvent>() {
-                @Override public void handle(ActionEvent e) {
-                    System.out.println("Land");
-                    smb3.setText(menuItem.getText());
-                    smb3.setOnAction(menuItem.getOnAction());
-                }
-             });
+            menuItem.setOnAction(e -> {
+                System.out.println("Land");
+                smb3.setText(menuItem.getText());
+                smb3.setOnAction(menuItem.getOnAction());
+            });
             smb3.getItems().add(menuItem);
         }
 
         {
             final MenuItem menuItem = new MenuItem("Sea");
-            menuItem.setOnAction(new EventHandler<ActionEvent>() {
-                @Override public void handle(ActionEvent e) {
-                    System.out.println("Sea");
-                    smb3.setText(menuItem.getText());
-                    smb3.setOnAction(menuItem.getOnAction());
-                }
-             });
+            menuItem.setOnAction(e -> {
+                System.out.println("Sea");
+                smb3.setText(menuItem.getText());
+                smb3.setOnAction(menuItem.getOnAction());
+            });
             smb3.getItems().add(menuItem);
         }
 
@@ -220,12 +183,10 @@
             ToggleGroup toggleGroup = new ToggleGroup();
             for (final Side side : Side.class.getEnumConstants()) {
                 final RadioButton rb = new RadioButton(side.toString());
-                rb.selectedProperty().addListener(new InvalidationListener() {
-                    @Override public void invalidated(Observable valueModel) {
-                        for (Node node : vBox1.getChildren()) {
-                            if (node instanceof MenuButton) {
-                                ((MenuButton)node).setPopupSide(side);
-                            }
+                rb.selectedProperty().addListener(valueModel -> {
+                    for (Node node : vBox1.getChildren()) {
+                        if (node instanceof MenuButton) {
+                            ((MenuButton)node).setPopupSide(side);
                         }
                     }
                 });
@@ -243,12 +204,10 @@
 
             {
                 final CheckBox cb = new CheckBox("Disable");
-                cb.selectedProperty().addListener(new InvalidationListener() {
-                    @Override public void invalidated(Observable valueModel) {
-                        boolean disabled = cb.isSelected();
-                        for (Node node : vBox1.getChildren()) {
-                            node.setDisable(disabled);
-                        }
+                cb.selectedProperty().addListener(valueModel -> {
+                    boolean disabled = cb.isSelected();
+                    for (Node node : vBox1.getChildren()) {
+                        node.setDisable(disabled);
                     }
                 });
                 hBox.getChildren().addAll(cb);
@@ -256,12 +215,10 @@
 
             {
                 final CheckBox cb = new CheckBox("RTL");
-                cb.selectedProperty().addListener(new InvalidationListener() {
-                    @Override public void invalidated(Observable valueModel) {
-                        boolean rtl = cb.isSelected();
-                        for (Node node : vBox1.getChildren()) {
-                            node.setNodeOrientation(rtl ? RIGHT_TO_LEFT : LEFT_TO_RIGHT);
-                        }
+                cb.selectedProperty().addListener(valueModel -> {
+                    boolean rtl = cb.isSelected();
+                    for (Node node : vBox1.getChildren()) {
+                        node.setNodeOrientation(rtl ? RIGHT_TO_LEFT : LEFT_TO_RIGHT);
                     }
                 });
                 cb.setSelected(scene.getEffectiveNodeOrientation() == RIGHT_TO_LEFT);
--- a/apps/toys/Hello/src/main/java/hello/HelloOverdraw.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloOverdraw.java	Fri Feb 28 11:47:35 2014 -0500
@@ -27,12 +27,9 @@
 
 import javafx.animation.RotateTransition;
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.KeyEvent;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Rectangle;
 import javafx.scene.transform.Rotate;
@@ -81,19 +78,16 @@
         stage.setScene(scene);
         stage.show();
 
-        scene.setOnKeyReleased(new EventHandler<KeyEvent>() {
-            @Override
-            public void handle(KeyEvent event) {
-                switch (event.getCode()) {
-                    case DIGIT0: toggle(russianDolls0); break;
-                    case DIGIT1: toggle(russianDolls1); break;
-                    case DIGIT2: toggle(russianDolls2); break;
-                    case DIGIT3: toggle(russianDolls3); break;
-                    case DIGIT4: toggle(russianDolls4); break;
-                    case DIGIT5: toggle(russianDolls5); break;
-                    case DIGIT6: toggle(russianDolls6); break;
-                    case DIGIT7: toggle(russianDolls7); break;
-                }
+        scene.setOnKeyReleased(event -> {
+            switch (event.getCode()) {
+                case DIGIT0: toggle(russianDolls0); break;
+                case DIGIT1: toggle(russianDolls1); break;
+                case DIGIT2: toggle(russianDolls2); break;
+                case DIGIT3: toggle(russianDolls3); break;
+                case DIGIT4: toggle(russianDolls4); break;
+                case DIGIT5: toggle(russianDolls5); break;
+                case DIGIT6: toggle(russianDolls6); break;
+                case DIGIT7: toggle(russianDolls7); break;
             }
         });
     }
@@ -138,26 +132,13 @@
         r.setArcHeight(20);
         r.setArcWidth(20);
         r.setFill(c);
-        r.setOnMouseEntered(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                squareUp(r);
-            }
-        });
-        r.setOnMouseExited(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                round(r);
-            }
-        });
-        r.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                if (event.isMetaDown()) {
-                    rotate3D(r);
-                } else {
-                    rotate(r);
-                }
+        r.setOnMouseEntered(event -> squareUp(r));
+        r.setOnMouseExited(event -> round(r));
+        r.setOnMouseClicked(event -> {
+            if (event.isMetaDown()) {
+                rotate3D(r);
+            } else {
+                rotate(r);
             }
         });
         return r;
--- a/apps/toys/Hello/src/main/java/hello/HelloPagination.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloPagination.java	Fri Feb 28 11:47:35 2014 -0500
@@ -28,9 +28,6 @@
 import javafx.application.Application;
 import javafx.scene.Scene;
 import javafx.scene.control.Pagination;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
-import javafx.scene.Node;
 import javafx.scene.control.Button;
 import javafx.scene.control.Label;
 import javafx.scene.layout.AnchorPane;
@@ -38,7 +35,6 @@
 import javafx.scene.layout.Priority;
 import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
-import javafx.util.Callback;
 
 
 public class HelloPagination extends Application {
@@ -76,117 +72,61 @@
     public void start(final Stage stage) throws Exception {
         pagination = new Pagination(28, 0);
         pagination.setStyle("-fx-border-color:red;");
-        pagination.setPageFactory(new Callback<Integer, Node>() {
-            @Override
-            public Node call(Integer pageIndex) {
-                return createPage(pageIndex);
-            }
-        });
+        pagination.setPageFactory(pageIndex -> createPage(pageIndex));
 
         VBox toolbar = new VBox(10);
         Button setMaxPageIndicatorCount = new Button("setMaxPageIndicatorCount = 5");
-        setMaxPageIndicatorCount.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setPageIndicatorCount = 5");
-                pagination.setMaxPageIndicatorCount(5);
-            }
+        setMaxPageIndicatorCount.setOnAction(t -> {
+            System.out.println("setPageIndicatorCount = 5");
+            pagination.setMaxPageIndicatorCount(5);
         });
 
         Button getMaxPageIndicatorCount = new Button("getMaxPageIndicatorCount");
-        getMaxPageIndicatorCount.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("getPageIndicatorCount = " + pagination.getMaxPageIndicatorCount());
-            }
-        });
+        getMaxPageIndicatorCount.setOnAction(t -> System.out.println("getPageIndicatorCount = " + pagination.getMaxPageIndicatorCount()));
 
         Button setCurrentPageIndex = new Button("setCurrentPageIndex = 19");
-        setCurrentPageIndex.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setCurrentPageIndex = 19");
-                pagination.setCurrentPageIndex(19);
-            }
+        setCurrentPageIndex.setOnAction(t -> {
+            System.out.println("setCurrentPageIndex = 19");
+            pagination.setCurrentPageIndex(19);
         });
 
         Button setCurrentPageIndex2 = new Button("setCurrentPageIndex = 0");
-        setCurrentPageIndex2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setCurrentPageIndex = 0");
-                pagination.setCurrentPageIndex(0);
-            }
+        setCurrentPageIndex2.setOnAction(t -> {
+            System.out.println("setCurrentPageIndex = 0");
+            pagination.setCurrentPageIndex(0);
         });
 
         Button setCurrentPageIndex3 = new Button("setCurrentPageIndex = 8");
-        setCurrentPageIndex3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setCurrentPageIndex = 8");
-                pagination.setCurrentPageIndex(8);
-            }
+        setCurrentPageIndex3.setOnAction(t -> {
+            System.out.println("setCurrentPageIndex = 8");
+            pagination.setCurrentPageIndex(8);
         });
 
         Button getCurrentPageIndex = new Button("getCurrentPageIndex");
-        getCurrentPageIndex.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("getCurrentPageIndex = " + pagination.getCurrentPageIndex());
-            }
-        });
+        getCurrentPageIndex.setOnAction(t -> System.out.println("getCurrentPageIndex = " + pagination.getCurrentPageIndex()));
 
         Button setOldPageFactory = new Button("set OLD PageFactory");
-        setOldPageFactory.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                pagination.setPageFactory(new Callback<Integer, Node>() {
-                    @Override
-                    public Node call(Integer pageIndex) {
-                        return createPage(pageIndex);
-                    }
-                });
-            }
-        });
+        setOldPageFactory.setOnAction(t -> pagination.setPageFactory(pageIndex -> createPage(pageIndex)));
 
         Button setNewPageFactory = new Button("set NEW PageFactory");
-        setNewPageFactory.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                pagination.setPageFactory(new Callback<Integer, Node>() {
-                    @Override
-                    public Node call(Integer pageIndex) {
-                        return createPage2(pageIndex);
-                    }
-                });
-            }
-        });
+        setNewPageFactory.setOnAction(t -> pagination.setPageFactory(pageIndex -> createPage2(pageIndex)));
 
         Button setPageCount = new Button("setPageCount = 8");
-        setPageCount.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setPageCount = 8");
-                pagination.setPageCount(8);
-            }
+        setPageCount.setOnAction(t -> {
+            System.out.println("setPageCount = 8");
+            pagination.setPageCount(8);
         });
 
         Button setPageCount2 = new Button("setPageCount = 18");
-        setPageCount2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setPageCount = 18");
-                pagination.setPageCount(18);
-            }
+        setPageCount2.setOnAction(t -> {
+            System.out.println("setPageCount = 18");
+            pagination.setPageCount(18);
         });
 
         Button setPageCount3 = new Button("setPageCount = INDETERMINATE");
-        setPageCount3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                System.out.println("setPageCount = INDETERMINATE");
-                pagination.setPageCount(Pagination.INDETERMINATE);
-            }
+        setPageCount3.setOnAction(t -> {
+            System.out.println("setPageCount = INDETERMINATE");
+            pagination.setPageCount(Pagination.INDETERMINATE);
         });
 
         toolbar.getChildren().addAll(
--- a/apps/toys/Hello/src/main/java/hello/HelloPopupMenu.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloPopupMenu.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -35,7 +33,6 @@
 import javafx.scene.control.MenuItem;
 import javafx.scene.paint.Color;
 import javafx.stage.Stage;
-import javafx.stage.WindowEvent;
 
 public class HelloPopupMenu extends Application {
 
@@ -53,52 +50,20 @@
     private Scene createScene() {
         final Scene scene = new Scene(new Group());
         final ContextMenu popupMenu = new ContextMenu();
-        popupMenu.setOnShowing(new EventHandler<WindowEvent>() {
-            @Override public void handle(WindowEvent t) {
-                System.out.println("showing");
-            }
-        });
-        popupMenu.setOnShown(new EventHandler<WindowEvent>() {
-            @Override public void handle(WindowEvent t) {
-                System.out.println("shown");
-            }
-        });
-        popupMenu.setOnHiding(new EventHandler<WindowEvent>() {
-            @Override public void handle(WindowEvent t) {
-                System.out.println("hiding");
-            }
-        });
-        popupMenu.setOnHidden(new EventHandler<WindowEvent>() {
-            @Override public void handle(WindowEvent t) {
-                System.out.println("hidden");
-            }
-        });
-        popupMenu.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent t) {
-                System.out.println("on Action: " + t.getTarget());
-            }
-        });
+        popupMenu.setOnShowing(t -> System.out.println("showing"));
+        popupMenu.setOnShown(t -> System.out.println("shown"));
+        popupMenu.setOnHiding(t -> System.out.println("hiding"));
+        popupMenu.setOnHidden(t -> System.out.println("hidden"));
+        popupMenu.setOnAction(t -> System.out.println("on Action: " + t.getTarget()));
 
         MenuItem item1 = new MenuItem("About");
-        item1.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("About");
-            }
-        });
+        item1.setOnAction(e -> System.out.println("About"));
 
         MenuItem item2 = new MenuItem("Preferences");
-        item2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("Preferences");
-            }
-        });
+        item2.setOnAction(e -> System.out.println("Preferences"));
 
         MenuItem item3 = new MenuItem("Templates");
-        item3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("Templates");
-            }
-        });
+        item3.setOnAction(e -> System.out.println("Templates"));
 
         popupMenu.getItems().add(item1);
         popupMenu.getItems().add(item2);
--- a/apps/toys/Hello/src/main/java/hello/HelloProgressIndicator.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloProgressIndicator.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,8 +29,6 @@
 import javafx.animation.KeyValue;
 import javafx.animation.Timeline;
 import javafx.application.Application;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.ProgressIndicator;
@@ -134,8 +132,7 @@
         pInd9.setLayoutY(250);
         pInd9.setProgress(-0.1);
 
-        pInd9.progressProperty().addListener(new ChangeListener<Number>() {
-           @Override public void changed(ObservableValue ov, Number oldVal, Number newVal) {
+        pInd9.progressProperty().addListener((ov, oldVal, newVal) -> {
 
                final double percent = newVal.doubleValue();
                if (percent < 0) return; // progress bar went indeterminate
@@ -169,8 +166,7 @@
                }
                final String style = String.format("-fx-progress-color: rgb(%d,%d,%d)", r, g, b);
                pInd9.setStyle(style);
-            }
-        });
+            });
         root.getChildren().add(pInd9);
 
         final Timeline timeline = new Timeline();
--- a/apps/toys/Hello/src/main/java/hello/HelloRectangle.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloRectangle.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,10 +26,8 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Rectangle;
 import javafx.stage.Stage;
@@ -49,12 +47,7 @@
         rect.setWidth(100);
         rect.setHeight(50);
         rect.setFill(Color.RED);
-        rect.setOnMousePressed(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent e) {
-                System.out.println("Mouse Pressed:" + e);
-            }
-        });
+        rect.setOnMousePressed(e -> System.out.println("Mouse Pressed:" + e));
 
         root.getChildren().add(rect);
         stage.setScene(scene);
--- a/apps/toys/Hello/src/main/java/hello/HelloRectangle3D.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloRectangle3D.java	Fri Feb 28 11:47:35 2014 -0500
@@ -30,12 +30,9 @@
 import javafx.animation.RotateTransition;
 import javafx.animation.Timeline;
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -45,6 +42,7 @@
 import javafx.scene.transform.Rotate;
 import javafx.stage.Stage;
 import javafx.util.Duration;
+
 import com.sun.javafx.perf.PerformanceTracker;
 
 /**
@@ -62,15 +60,12 @@
         final Rectangle rect = rect((sceneWidth - 200) / 2, (sceneHeight - 200) / 2, 200, 200, Color.LIME);
         rect.setRotationAxis(Rotate.Y_AXIS);
         rect.setCache(true);
-        rect.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                // This is used to test that the texture gets recreated as needed
-                if (event.isShiftDown()) {
-                    rect.setStrokeWidth(Math.random() * 10);
-                } else {
-                    rect.setFill(new Color(Math.random(), Math.random(), Math.random(), 1));
-                }
+        rect.setOnMouseClicked(event -> {
+            // This is used to test that the texture gets recreated as needed
+            if (event.isShiftDown()) {
+                rect.setStrokeWidth(Math.random() * 10);
+            } else {
+                rect.setFill(new Color(Math.random(), Math.random(), Math.random(), 1));
             }
         });
 
@@ -91,12 +86,7 @@
 
         PerformanceTracker tracker = PerformanceTracker.getSceneTracker(scene);
         Timeline t = new Timeline(
-            new KeyFrame(Duration.seconds(1), new EventHandler<ActionEvent>() {
-                @Override
-                public void handle(ActionEvent event) {
-                    System.out.println("" + tracker.getAverageFPS() + " average fps, " + tracker.getInstantFPS() + " instant fps");
-                }
-            })
+            new KeyFrame(Duration.seconds(1), event -> System.out.println("" + tracker.getAverageFPS() + " average fps, " + tracker.getInstantFPS() + " instant fps"))
         );
         t.setCycleCount(Timeline.INDEFINITE);
         t.play();
--- a/apps/toys/Hello/src/main/java/hello/HelloSanity.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloSanity.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,8 +25,6 @@
 
 package hello;
 
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -37,6 +35,7 @@
 import javafx.application.Application;
 import javafx.geometry.Pos;
 import javafx.geometry.Rectangle2D;
+
 import java.io.File;
 
 /**
@@ -65,60 +64,28 @@
         Label welcome = new Label("Welcome to Hello Sanity");
 
         Button bControls = new Button("Controls");
-        bControls.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.controlTest(globalScene, mainBox);
-            }
-        });
+        bControls.setOnAction(e -> builder.controlTest(globalScene, mainBox));
 
         Button bTabs = new Button("Tabs and Menus");
-        bTabs.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.menusTest(globalScene, mainBox, primaryStage);
-            }
-        });
+        bTabs.setOnAction(e -> builder.menusTest(globalScene, mainBox, primaryStage));
 
         Button bWins = new Button("Windows");
-        bWins.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.windowsTest(globalScene, mainBox, primaryStage);
-            }
-        });
+        bWins.setOnAction(e -> builder.windowsTest(globalScene, mainBox, primaryStage));
 
         Button bAnim = new Button("Animation");
-        bAnim.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.animationTest(globalScene, mainBox);
-            }
-        });
+        bAnim.setOnAction(e -> builder.animationTest(globalScene, mainBox));
 
         Button bEffs = new Button("Effects");
-        bEffs.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.effectsTest(globalScene, mainBox);
-            }
-        });
+        bEffs.setOnAction(e -> builder.effectsTest(globalScene, mainBox));
 
         Button bRobot = new Button("Robot");
-        bRobot.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.robotTest(globalScene, mainBox, primaryStage);
-            }
-        });
+        bRobot.setOnAction(e -> builder.robotTest(globalScene, mainBox, primaryStage));
 
         Button bswipe = new Button("Swipe");
-        bswipe.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                builder.swipeTest(globalScene, mainBox);
-            }
-        });
+        bswipe.setOnAction(e -> builder.swipeTest(globalScene, mainBox));
         
         Button bquit = new Button("Quit");
-        bquit.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                primaryStage.close();
-            }
-        });
+        bquit.setOnAction(e -> primaryStage.close());
         
         mainBox.getChildren().addAll(welcome, bControls, bTabs, bWins, bRobot,
                                      bAnim, bEffs, bswipe, bquit);
--- a/apps/toys/Hello/src/main/java/hello/HelloSeparator.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloSeparator.java	Fri Feb 28 11:47:35 2014 -0500
@@ -30,8 +30,6 @@
 import java.util.List;
 
 import javafx.application.Application;
-import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
 import javafx.geometry.Orientation;
 import javafx.scene.Group;
 import javafx.scene.Scene;
@@ -71,12 +69,10 @@
 
         ToggleButton toggle = new ToggleButton("Horizontal Slider");
         toggle.setSelected(true);
-        toggle.selectedProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                for (Separator s : separators) {
-                    s.setOrientation(s.getOrientation() == Orientation.VERTICAL ?
-                            Orientation.HORIZONTAL : Orientation.VERTICAL);
-                }
+        toggle.selectedProperty().addListener(ov -> {
+            for (Separator s : separators) {
+                s.setOrientation(s.getOrientation() == Orientation.VERTICAL ?
+                        Orientation.HORIZONTAL : Orientation.VERTICAL);
             }
         });
         ((Group)scene.getRoot()).getChildren().add(toggle);
--- a/apps/toys/Hello/src/main/java/hello/HelloSnapshot2.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloSnapshot2.java	Fri Feb 28 11:47:35 2014 -0500
@@ -30,7 +30,6 @@
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
 import javafx.scene.SnapshotParameters;
-import javafx.scene.SnapshotResult;
 import javafx.scene.image.Image;
 import javafx.scene.image.ImageView;
 import javafx.scene.layout.HBox;
@@ -38,7 +37,6 @@
 import javafx.scene.shape.Ellipse;
 import javafx.scene.transform.Transform;
 import javafx.stage.Stage;
-import javafx.util.Callback;
 
 public class HelloSnapshot2 extends Application {
 
@@ -74,14 +72,12 @@
         container.getChildren().add(new ImageView(image1));
         container.getChildren().add(new ImageView(image2));
 
-        ellipse.snapshot(new Callback<SnapshotResult, Void>() {
-            public Void call(SnapshotResult r) {
-                System.err.println("callback: image = " + r.getImage()
-                        + "  source = " + r.getSource()
-                        + "  params = " + r.getSnapshotParameters());
-                container.getChildren().add(new ImageView(r.getImage()));
-                return null;
-            }
+        ellipse.snapshot(r -> {
+            System.err.println("callback: image = " + r.getImage()
+                    + "  source = " + r.getSource()
+                    + "  params = " + r.getSnapshotParameters());
+            container.getChildren().add(new ImageView(r.getImage()));
+            return null;
         }, params, null);
 
         params.setFill(Color.YELLOW);  // this should not affect the rendering
--- a/apps/toys/Hello/src/main/java/hello/HelloSplitPane.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloSplitPane.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,16 +26,12 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
-import javafx.event.EventHandler;
 import javafx.geometry.Orientation;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
 import javafx.scene.control.Slider;
 import javafx.scene.control.SplitPane;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
@@ -57,11 +53,7 @@
         horizSlider.setMax(1);
         horizSlider.setValue(0.5f);
         horizSlider.setPrefWidth(horizSplitPane.prefWidth(-1));
-        horizSlider.valueProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                horizSplitPane.setDividerPosition(0, horizSlider.getValue());
-            }
-        });
+        horizSlider.valueProperty().addListener(ov -> horizSplitPane.setDividerPosition(0, horizSlider.getValue()));
 
         horizSplitPane.setPrefSize(200, 200);
         final Button l = new Button("Left Button");
@@ -69,27 +61,15 @@
         horizSplitPane.getItems().addAll(
                 new VBox(l),
                 new VBox(r));
-        horizSplitPane.getDividers().get(0).positionProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                horizSlider.setValue(horizSplitPane.getDividers().get(0).getPosition());
-            }
-        });
-        horizSplitPane.widthProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                horizSlider.setPrefWidth(horizSplitPane.prefWidth(-1));
-            }
-        });
+        horizSplitPane.getDividers().get(0).positionProperty().addListener(ov -> horizSlider.setValue(horizSplitPane.getDividers().get(0).getPosition()));
+        horizSplitPane.widthProperty().addListener(ov -> horizSlider.setPrefWidth(horizSplitPane.prefWidth(-1)));
 
         vertSlider.setOrientation(Orientation.VERTICAL);
         vertSlider.setMin(0);
         vertSlider.setMax(1);
         vertSlider.setValue(0.5f);
         vertSlider.setPrefHeight(vertSplitPane.prefHeight(-1));
-        vertSlider.valueProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {                
-                vertSplitPane.setDividerPosition(0, 1 - vertSlider.getValue());
-            }
-        });
+        vertSlider.valueProperty().addListener(ov -> vertSplitPane.setDividerPosition(0, 1 - vertSlider.getValue()));
 
         vertSplitPane.setPrefSize(200, 200);
         vertSplitPane.setOrientation(Orientation.VERTICAL);
@@ -98,16 +78,8 @@
         vertSplitPane.getItems().addAll(
                 new VBox(t),
                 new VBox(b));
-        vertSplitPane.getDividers().get(0).positionProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {                
-                vertSlider.setValue(1 - vertSplitPane.getDividers().get(0).getPosition());
-            }
-        });
-        vertSplitPane.heightProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                vertSlider.setPrefHeight(vertSplitPane.prefHeight(-1));
-            }
-        });
+        vertSplitPane.getDividers().get(0).positionProperty().addListener(ov -> vertSlider.setValue(1 - vertSplitPane.getDividers().get(0).getPosition()));
+        vertSplitPane.heightProperty().addListener(ov -> vertSlider.setPrefHeight(vertSplitPane.prefHeight(-1)));
 
         setupMailClient();
         setupMailClient2();
@@ -201,43 +173,33 @@
         vbox2.setSpacing(2);
 
         Button b1 = new Button("0.0");
-        b1.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent me) {
-                horizSplitPane.setDividerPosition(0, 0);
-                vertSplitPane.setDividerPosition(0, 0);
-            }
+        b1.setOnMouseClicked(me -> {
+            horizSplitPane.setDividerPosition(0, 0);
+            vertSplitPane.setDividerPosition(0, 0);
         });
 
         Button b2 = new Button("0.25");
-        b2.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent me) {
-                horizSplitPane.setDividerPosition(0, 0.25f);
-                vertSplitPane.setDividerPosition(0, 0.25f);
-            }
+        b2.setOnMouseClicked(me -> {
+            horizSplitPane.setDividerPosition(0, 0.25f);
+            vertSplitPane.setDividerPosition(0, 0.25f);
         });
 
         Button b3 = new Button("0.50");
-        b3.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent me) {
-                horizSplitPane.setDividerPosition(0, 0.5f);
-                vertSplitPane.setDividerPosition(0, 0.5f);
-            }
+        b3.setOnMouseClicked(me -> {
+            horizSplitPane.setDividerPosition(0, 0.5f);
+            vertSplitPane.setDividerPosition(0, 0.5f);
         });
 
         Button b4 = new Button("0.75");
-        b4.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent me) {
-                horizSplitPane.setDividerPosition(0, 0.75f);
-                vertSplitPane.setDividerPosition(0, 0.75f);
-            }
+        b4.setOnMouseClicked(me -> {
+            horizSplitPane.setDividerPosition(0, 0.75f);
+            vertSplitPane.setDividerPosition(0, 0.75f);
         });
 
         Button b5 = new Button("1.0");
-        b5.setOnMouseClicked(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent me) {
-                horizSplitPane.setDividerPosition(0, 1.0f);
-                vertSplitPane.setDividerPosition(0, 1.0f);
-            }
+        b5.setOnMouseClicked(me -> {
+            horizSplitPane.setDividerPosition(0, 1.0f);
+            vertSplitPane.setDividerPosition(0, 1.0f);
         });
 
         vbox2.getChildren().clear();
--- a/apps/toys/Hello/src/main/java/hello/HelloStageOnTop.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloStageOnTop.java	Fri Feb 28 11:47:35 2014 -0500
@@ -25,10 +25,6 @@
  */
 
 import javafx.application.Application;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Insets;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -52,12 +48,7 @@
         Scene scene = new Scene(root);
 
 
-        button.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent event) {
-                createNewStage(0, null, box.isSelected());
-            }
-        });
+        button.setOnAction(event -> createNewStage(0, null, box.isSelected()));
 
         primaryStage.setScene(scene);
         primaryStage.show();
@@ -77,31 +68,18 @@
         ToggleButton onTopButton = new ToggleButton(onTop ? DISABLE_ON_TOP : ENABLE_ON_TOP);
         onTopButton.setSelected(onTop);
 
-        stage.alwaysOnTopProperty().addListener(new ChangeListener<Boolean>() {
-            @Override
-            public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
-                onTopButton.setSelected(newValue);
-                onTopButton.setText(newValue ? DISABLE_ON_TOP : ENABLE_ON_TOP);
-            }
+        stage.alwaysOnTopProperty().addListener((observable, oldValue, newValue) -> {
+            onTopButton.setSelected(newValue);
+            onTopButton.setText(newValue ? DISABLE_ON_TOP : ENABLE_ON_TOP);
         });
 
-        onTopButton.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent event) {
-                stage.setAlwaysOnTop(!stage.isAlwaysOnTop());
-            }
-        });
+        onTopButton.setOnAction(event -> stage.setAlwaysOnTop(!stage.isAlwaysOnTop()));
 
         CheckBox box = new CheckBox("Child stage always on top");
         box.setSelected(true);
         Button newStageButton = new Button("Open child stage");
 
-        newStageButton.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent event) {
-                createNewStage(level + 1, stage, box.isSelected());
-            }
-        });
+        newStageButton.setOnAction(event -> createNewStage(level + 1, stage, box.isSelected()));
 
         root.getChildren().addAll(onTopButton, box, newStageButton);
 
--- a/apps/toys/Hello/src/main/java/hello/HelloTableView.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloTableView.java	Fri Feb 28 11:47:35 2014 -0500
@@ -36,17 +36,13 @@
 
 import javafx.application.Application;
 import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
 import javafx.beans.binding.ObjectBinding;
 import javafx.beans.property.*;
-import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
 import javafx.collections.transformation.SortedList;
 import javafx.collections.transformation.FilteredList;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
 import javafx.scene.Group;
@@ -66,8 +62,6 @@
 import javafx.scene.control.TabPane;
 import javafx.scene.control.TableCell;
 import javafx.scene.control.TableColumn;
-import javafx.scene.control.TableColumn.CellEditEvent;
-import javafx.scene.control.TableColumn.CellDataFeatures;
 import javafx.scene.control.TablePosition;
 import javafx.scene.control.TableRow;
 import javafx.scene.control.TableView;
@@ -78,8 +72,6 @@
 import javafx.scene.image.Image;
 import javafx.scene.image.ImageView;
 import javafx.scene.input.KeyCode;
-import javafx.scene.input.KeyEvent;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.GridPane;
 import javafx.scene.layout.Priority;
 import javafx.scene.layout.VBox;
@@ -87,7 +79,6 @@
 import javafx.scene.paint.Paint;
 import javafx.scene.shape.Rectangle;
 import javafx.stage.Stage;
-import javafx.util.Callback;
 
 public class HelloTableView extends Application {
 
@@ -118,11 +109,7 @@
             this.email = new SimpleStringProperty(email);
             this.invited = new SimpleBooleanProperty(invited);
 
-            this.invited.addListener(new ChangeListener<Boolean>() {
-                public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
-                    System.out.println(getFirstName() + " invited: " + t1);
-                }
-            });
+            this.invited.addListener((ov, t, t1) -> System.out.println(getFirstName() + " invited: " + t1));
         }
 
         public Boolean isInvited() { return invited.get(); }
@@ -274,18 +261,7 @@
 //                return p.getValue().firstName;
 //            }
 //        });
-        firstNameCol.setOnEditCommit(new EventHandler<CellEditEvent<Person, String>>() {
-            @Override public void handle(CellEditEvent<Person, String> t) {
-                System.out.println("Edit commit event: " + t.getNewValue());
-//                Object obj = t.getNewValue();
-//
-//                if (obj instanceof String) {
-//                    ListView lv = t.getSource();
-//                    lv.getItems().remove((int) lv.getEditingIndex());
-//                    lv.getItems().add( (int) lv.getEditingIndex(), obj);
-//                }
-            }
-        });
+        firstNameCol.setOnEditCommit(t -> System.out.println("Edit commit event: " + t.getNewValue()));
 
 //        final Node graphic1 = new ImageView(new Image("file:src/hello/about_16.png"));
         lastNameCol = new TableColumn<Person, String>();
@@ -293,11 +269,7 @@
         lastNameCol.setText("Last");
 //        lastNameCol.setResizable(false);
 //        lastNameCol.setProperty("lastName");
-        lastNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
-            public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
-                return p.getValue().lastNameProperty();
-            }
-        });
+        lastNameCol.setCellValueFactory(p -> p.getValue().lastNameProperty());
 
         nameCol = new TableColumn<Person, String>();
         nameCol.setText("Name");
@@ -310,30 +282,18 @@
 //        emailCol.setContextMenu(emailMenu);
         emailCol.setMinWidth(200);
 //        emailCol.setResizable(false);
-        emailCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
-            public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
-                return p.getValue().emailProperty();
-            }
-        });
+        emailCol.setCellValueFactory(p -> p.getValue().emailProperty());
 
         countryCol = new TableColumn<Person, String>();
         countryCol.setText("Country");
-        countryCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
-            public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
-                return new ReadOnlyObjectWrapper<String>("New Zealand");
-            }
-        });
+        countryCol.setCellValueFactory(p -> new ReadOnlyObjectWrapper<String>("New Zealand"));
 //        countryCol.setProperty("country");
 
         invitedCol = new TableColumn<Person, Boolean>();
         invitedCol.setText("Invited");
         invitedCol.setMaxWidth(50);
         invitedCol.setCellValueFactory(new PropertyValueFactory("invited"));
-        invitedCol.setCellFactory(new Callback<TableColumn<Person, Boolean>, TableCell<Person, Boolean>>() {
-            public TableCell<Person, Boolean> call(TableColumn<Person, Boolean> p) {
-                return new CheckBoxTableCell<Person, Boolean>();
-            }
-        });
+        invitedCol.setCellFactory(p -> new CheckBoxTableCell<Person, Boolean>());
         /*
         ContextMenu ctx = new ContextMenu();
         final MenuItem cutMI    = new MenuItem("Cut");
@@ -368,11 +328,9 @@
         tabPane.setPrefWidth(scene.getWidth());
         tabPane.setPrefHeight(scene.getHeight());
 
-        InvalidationListener sceneListener = new InvalidationListener() {
-            @Override public void invalidated(Observable ov) {
-                tabPane.setPrefWidth(scene.getWidth());
-                tabPane.setPrefHeight(scene.getHeight());
-            }
+        InvalidationListener sceneListener = ov -> {
+            tabPane.setPrefWidth(scene.getWidth());
+            tabPane.setPrefHeight(scene.getHeight());
         };
         scene.widthProperty().addListener(sceneListener);
         scene.heightProperty().addListener(sceneListener);
@@ -445,42 +403,34 @@
 
         tableView.setPlaceholder(new ProgressBar(-1));
 
-        tableView.setRowFactory(new Callback<TableView<Person>, TableRow<Person>>() {
-            @Override public TableRow<Person> call(TableView<Person> p) {
-                return new TableRow<Person>() {
-                    @Override public void updateItem(Person item, boolean empty) {
-                        super.updateItem(item, empty);
+        tableView.setRowFactory(p -> new TableRow<Person>() {
+            @Override public void updateItem(Person item, boolean empty) {
+                super.updateItem(item, empty);
 
-                        TableView.TableViewSelectionModel sm = tableView.getSelectionModel();
+                TableView.TableViewSelectionModel sm = tableView.getSelectionModel();
 
-                        // get the row and column currently being editing
-                        TablePosition editCell = tableView.getEditingCell();
+                // get the row and column currently being editing
+                TablePosition editCell = tableView.getEditingCell();
 
-                        // set the columns to only be shown if we aren't currently
-                        // editing this row. If we are editing this row, we
-                        // turn off the columns to show our custom node, which
-                        // is set below.
-                        boolean showColumns = sm == null ||
-                                sm.isCellSelectionEnabled() ||
-                                editCell == null ||
-                                editCell.getColumn() != -1 ||
-                                editCell.getRow() != getIndex();
+                // set the columns to only be shown if we aren't currently
+                // editing this row. If we are editing this row, we
+                // turn off the columns to show our custom node, which
+                // is set below.
+                boolean showColumns = sm == null ||
+                        sm.isCellSelectionEnabled() ||
+                        editCell == null ||
+                        editCell.getColumn() != -1 ||
+                        editCell.getRow() != getIndex();
 
-                        if (showColumns) {
-                            setGraphic(null);
-                        } else {
-                            Button stopEditingBtn = new Button("Stop editing");
-                            stopEditingBtn.setPrefSize(200, 50);
-                            stopEditingBtn.setOnAction(new EventHandler<ActionEvent>() {
-                                @Override public void handle(ActionEvent t) {
-                                    tableView.edit(-1, null);
-                                }
-                            });
-                            setGraphic(stopEditingBtn);
-                        }
-                        setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
-                    }
-                };
+                if (showColumns) {
+                    setGraphic(null);
+                } else {
+                    Button stopEditingBtn = new Button("Stop editing");
+                    stopEditingBtn.setPrefSize(200, 50);
+                    stopEditingBtn.setOnAction(t -> tableView.edit(-1, null));
+                    setGraphic(stopEditingBtn);
+                }
+                setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
             }
         });
 
@@ -550,18 +500,16 @@
         grid.getChildren().add(multipleCell);
         GridPane.setConstraints(multipleCell, 1, 3);
 
-        tg.selectedToggleProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                RadioButton toggle = (RadioButton) tg.getSelectedToggle();
-                if (toggle == null) return;
+        tg.selectedToggleProperty().addListener(ov -> {
+            RadioButton toggle = (RadioButton) tg.getSelectedToggle();
+            if (toggle == null) return;
 
-                Map<Object, Object> properties = toggle.getProperties();
-                SelectionMode selectMode = (SelectionMode) properties.get(MULTI_SELECT);
-                boolean cellSelect = (Boolean) properties.get(CELL_SELECT);
+            Map<Object, Object> properties = toggle.getProperties();
+            SelectionMode selectMode = (SelectionMode) properties.get(MULTI_SELECT);
+            boolean cellSelect = (Boolean) properties.get(CELL_SELECT);
 
-                tableView.getSelectionModel().setSelectionMode(selectMode);
-                tableView.getSelectionModel().setCellSelectionEnabled(cellSelect);
-            }
+            tableView.getSelectionModel().setSelectionMode(selectMode);
+            tableView.getSelectionModel().setCellSelectionEnabled(cellSelect);
         });
         // -- end of selection mode controls
 
@@ -586,11 +534,7 @@
         // show/hide column control button
         final ToggleButton columnControlBtn = new ToggleButton("Column Control");
         columnControlBtn.setSelected(false);
-        columnControlBtn.selectedProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                tableView.setTableMenuButtonVisible(columnControlBtn.isSelected());
-            }
-        });
+        columnControlBtn.selectedProperty().addListener(ov -> tableView.setTableMenuButtonVisible(columnControlBtn.isSelected()));
         grid.getChildren().add(columnControlBtn);
         GridPane.setConstraints(columnControlBtn, 1, 5);
         // -- end of show/hide column control button
@@ -609,14 +553,12 @@
         // constrained resize button
         final ToggleButton constrainResizeBtn = new ToggleButton("Constrained Resize");
         constrainResizeBtn.setSelected(false);
-        constrainResizeBtn.selectedProperty().addListener(new InvalidationListener() {
-            @Override public void invalidated(Observable ov) {
-                 if (constrainResizeBtn.isSelected()) {
-                     tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
-                 } else {
-                     tableView.setColumnResizePolicy(TableView.UNCONSTRAINED_RESIZE_POLICY);
-                 }
-            }
+        constrainResizeBtn.selectedProperty().addListener(ov -> {
+             if (constrainResizeBtn.isSelected()) {
+                 tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
+             } else {
+                 tableView.setColumnResizePolicy(TableView.UNCONSTRAINED_RESIZE_POLICY);
+             }
         });
         grid.add(constrainResizeBtn, 1, 7);
         // -- end of constrained resize button
@@ -626,16 +568,14 @@
         // actions
         // Dump to console button (for debugging the tableView observableArrayList)
         Button dumpButton = new Button("Dump to console");
-        dumpButton.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                System.out.println("================================");
-                System.out.println("TableView dump:");
-                System.out.println("Columns: " + tableView.getColumns());
+        dumpButton.setOnAction(e -> {
+            System.out.println("================================");
+            System.out.println("TableView dump:");
+            System.out.println("Columns: " + tableView.getColumns());
 //                System.out.println("View Columns: " + tableView.getViewColumns());
 //                System.out.println("Leaf Columns: " + tableView.getLeafColumns());
-                System.out.println("Visible Leaf Columns: " + tableView.getVisibleLeafColumns());
-                System.out.println("================================");
-            }
+            System.out.println("Visible Leaf Columns: " + tableView.getVisibleLeafColumns());
+            System.out.println("================================");
         });
         grid.getChildren().add(dumpButton);
         GridPane.setConstraints(dumpButton, 1, 8);
@@ -643,21 +583,12 @@
 
         // insert button
         final Button insertBtn = new Button("Insert row");
-        insertBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent t) {
-                data.add(0, new Person("First Name", "Last Name", "Email"));
-            }
-        });
+        insertBtn.setOnAction(t -> data.add(0, new Person("First Name", "Last Name", "Email")));
         grid.getChildren().add(insertBtn);
         GridPane.setConstraints(insertBtn, 1, 9);
 
         final Button renameEthanBtn = new Button("Rename Ethan");
-        renameEthanBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent t) {
-                data.get(2).setFirstName(new BigInteger(40, new Random()).toString(32));
-//                data.set(2, new Person("Jonathan", "Giles"));
-            }
-        });
+        renameEthanBtn.setOnAction(t -> data.get(2).setFirstName(new BigInteger(40, new Random()).toString(32)));
         grid.getChildren().add(renameEthanBtn);
         GridPane.setConstraints(renameEthanBtn, 1, 10);
 
@@ -722,11 +653,7 @@
 
         TableColumn<Integer, Number> numberColumn = new TableColumn<>("Numbers");
         numberColumn.setPrefWidth(81);
-        numberColumn.setCellValueFactory(new Callback<CellDataFeatures<Integer, Number>, ObservableValue<Number>>() {
-            @Override public ObservableValue<Number> call(CellDataFeatures<Integer, Number> param) {
-                return new ReadOnlyIntegerWrapper(param.getValue());
-            }
-        });
+        numberColumn.setCellValueFactory(param -> new ReadOnlyIntegerWrapper(param.getValue()));
         tableView.getColumns().add(numberColumn);
 
         return tableView;
@@ -837,29 +764,23 @@
         final TextField filterInput = new TextField();
         filterInput.setPromptText("Enter filter text");
 //        filterInput.setColumns(35);
-        filterInput.setOnKeyReleased(new EventHandler<KeyEvent>() {
-            public void handle(KeyEvent t) {
-                filteredList2.setPredicate((Person e) -> {
-                        String input = filterInput.getText().toUpperCase();
+        filterInput.setOnKeyReleased(t -> filteredList2.setPredicate((Person e) -> {
+                String input = filterInput.getText().toUpperCase();
 
-                        // match against the first and last names
-                        return e.getFirstName().toUpperCase().contains(input) || e.getLastName().toUpperCase().contains(input);
-                    }
-                );
+                // match against the first and last names
+                return e.getFirstName().toUpperCase().contains(input) || e.getLastName().toUpperCase().contains(input);
             }
-        });
+        ));
         vbox.getChildren().add(filterInput);
 
         final TextField newItemInput = new TextField();
         newItemInput.setPromptText("Enter \"firstName lastName\", then press enter to add person to table");
 //        newItemInput.setColumns(35);
-        newItemInput.setOnKeyReleased(new EventHandler<KeyEvent>() {
-            public void handle(KeyEvent t) {
-                if (t.getCode() == KeyCode.ENTER) {
-                    String[] name = newItemInput.getText().split(" ");
-                    data.add(new Person(name[0], name[1]));
-                    newItemInput.setText("");
-                }
+        newItemInput.setOnKeyReleased(t -> {
+            if (t.getCode() == KeyCode.ENTER) {
+                String[] name = newItemInput.getText().split(" ");
+                data.add(new Person(name[0], name[1]));
+                newItemInput.setText("");
             }
         });
         vbox.getChildren().add(newItemInput);
@@ -875,11 +796,7 @@
         TableColumn<Person, String> firstNameCol = new TableColumn<>();
         firstNameCol.setText("First");
         firstNameCol.setCellValueFactory(new PropertyValueFactory<Person,String>("firstName"));
-        firstNameCol.setOnEditCommit(new EventHandler<CellEditEvent<Person, String>>() {
-            @Override public void handle(CellEditEvent<Person, String> t) {
-                System.out.println("Edit commit event: " + t.getNewValue());
-            }
-        });
+        firstNameCol.setOnEditCommit(t -> System.out.println("Edit commit event: " + t.getNewValue()));
 
         return firstNameCol;
     }
@@ -887,11 +804,7 @@
     private TableColumn createLastNameCol() {
         TableColumn<Person, String> lastNameCol = new TableColumn<Person, String>();
         lastNameCol.setText("Last");
-        lastNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
-            public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
-                return p.getValue().lastNameProperty();
-            }
-        });
+        lastNameCol.setCellValueFactory(p -> p.getValue().lastNameProperty());
         return lastNameCol;
     }
 
@@ -915,14 +828,12 @@
 
         getLines(bigData);
 
-        tableView.setOnMouseReleased(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent t) {
-                if (t.getClickCount() == 3) {
-                    System.out.println("resetting data...");
-                    bigData.clear();
-                    getLines(bigData);
-                    System.out.println("Done");
-                }
+        tableView.setOnMouseReleased(t -> {
+            if (t.getClickCount() == 3) {
+                System.out.println("resetting data...");
+                bigData.clear();
+                getLines(bigData);
+                System.out.println("Done");
             }
         });
 
@@ -959,34 +870,26 @@
         for (int i = 0; i <= NB_COL; i++) {
             TableColumn<List<Double>,Double> col = new TableColumn<List<Double>,Double>("Col" + i);
             final int coli = i;
-            col.setCellValueFactory(new Callback<CellDataFeatures<List<Double>,Double>, ObservableValue<Double>>() {
-                public ObservableValue<Double> call(CellDataFeatures<List<Double>,Double> p) {
-                    return new ReadOnlyObjectWrapper<Double>(((List<Double>) p.getValue()).get(coli));
-                }
-            });
+            col.setCellValueFactory(p -> new ReadOnlyObjectWrapper<Double>(((List<Double>) p.getValue()).get(coli)));
 
             if (customCell) {
-                col.setCellFactory(new Callback<TableColumn<List<Double>,Double>, TableCell<List<Double>,Double>>() {
-                    public TableCell<List<Double>,Double> call(TableColumn<List<Double>,Double> p) {
-                        return new TableCell<List<Double>,Double>() {
-                            CheckBox chk;
+                col.setCellFactory(p -> new TableCell<List<Double>,Double>() {
+                    CheckBox chk;
 
-                            @Override public void updateItem(Double item, boolean empty) {
-                                super.updateItem(item, empty);
+                    @Override public void updateItem(Double item, boolean empty) {
+                        super.updateItem(item, empty);
 
-                                if (empty) {
-                                    setGraphic(null);
-                                } else {
-                                    if (chk == null) {
-                                        chk = new CheckBox();
-                                    }
+                        if (empty) {
+                            setGraphic(null);
+                        } else {
+                            if (chk == null) {
+                                chk = new CheckBox();
+                            }
 
-                                    chk.setText(item.toString());
-                                    setGraphic(chk);
-                                }
-                                setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
-                            }
-                        };
+                            chk.setText(item.toString());
+                            setGraphic(chk);
+                        }
+                        setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
                     }
                 });
             }
--- a/apps/toys/Hello/src/main/java/hello/HelloTextArea.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloTextArea.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
 import javafx.geometry.Insets;
 import javafx.geometry.Orientation;
 import javafx.scene.Group;
@@ -64,11 +62,8 @@
         textArea.setPrefColumnCount(24);
         root.getChildren().add(textArea);
 
-        textArea.textProperty().addListener(new ChangeListener<String>() {
-            @Override
-            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
-                // System.out.println(newValue);
-            }
+        textArea.textProperty().addListener((observable, oldValue, newValue) -> {
+            // System.out.println(newValue);
         });
 
         ToggleButton wrapButton = new ToggleButton("Wrap Text");
--- a/apps/toys/Hello/src/main/java/hello/HelloTextBoxClipboard.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloTextBoxClipboard.java	Fri Feb 28 11:47:35 2014 -0500
@@ -28,8 +28,6 @@
 import java.util.Set;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Insets;
 import javafx.scene.Group;
 import javafx.scene.Scene;
@@ -68,24 +66,20 @@
 
         final HBox btns = new HBox();
         final Button copy = new Button("Copy");
-		copy.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                ClipboardContent content = new ClipboardContent();
-                content.putString(copyFromText.getText());
-                Clipboard.getSystemClipboard().setContent(content);
-            }
-		});
+		copy.setOnAction(e -> {
+            ClipboardContent content = new ClipboardContent();
+            content.putString(copyFromText.getText());
+            Clipboard.getSystemClipboard().setContent(content);
+        });
 
         final Button paste = new Button("Paste");
-		paste.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent e) {
-                Set<DataFormat> types = Clipboard.getSystemClipboard().getContentTypes();
-                for (DataFormat type: types) {
-                    System.out.println("TYPE: " + type);
-                }
-                copyToText.setText(Clipboard.getSystemClipboard().getString());
+		paste.setOnAction(e -> {
+            Set<DataFormat> types = Clipboard.getSystemClipboard().getContentTypes();
+            for (DataFormat type: types) {
+                System.out.println("TYPE: " + type);
             }
-		});
+            copyToText.setText(Clipboard.getSystemClipboard().getString());
+        });
 
         btns.getChildren().add(copy);
         btns.getChildren().add(paste);
--- a/apps/toys/Hello/src/main/java/hello/HelloTextField.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloTextField.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,8 +26,6 @@
 package hello;
 
 import javafx.application.Application;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.geometry.Insets;
 import javafx.scene.Scene;
 import javafx.scene.control.Button;
@@ -51,53 +49,37 @@
         final PasswordField passwordField = new PasswordField();
 
         Button setIllegalCharsBtn = new Button("Set Illegal Characters");
-        setIllegalCharsBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent event) {
-                textField.setText("Illegal characters here -->" + '\05' + '\07' + '\0' + "<--");
-            }
-        });
+        setIllegalCharsBtn.setOnAction(event -> textField.setText("Illegal characters here -->" + '\05' + '\07' + '\0' + "<--"));
 
         Button increasePrefColumnCountBtn = new Button("Increase prefColumnCount");
-        increasePrefColumnCountBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent event) {
-                textField.setPrefColumnCount(textField.getPrefColumnCount() + 5);
-                passwordField.setPrefColumnCount(passwordField.getPrefColumnCount() + 5);
-            }
+        increasePrefColumnCountBtn.setOnAction(event -> {
+            textField.setPrefColumnCount(textField.getPrefColumnCount() + 5);
+            passwordField.setPrefColumnCount(passwordField.getPrefColumnCount() + 5);
         });
 
         Button decreasePrefColumnCountBtn = new Button("Decrease prefColumnCount");
-        decreasePrefColumnCountBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent event) {
-                textField.setPrefColumnCount(textField.getPrefColumnCount() - 5);
-                passwordField.setPrefColumnCount(passwordField.getPrefColumnCount() - 5);
-            }
+        decreasePrefColumnCountBtn.setOnAction(event -> {
+            textField.setPrefColumnCount(textField.getPrefColumnCount() - 5);
+            passwordField.setPrefColumnCount(passwordField.getPrefColumnCount() - 5);
         });
 
         Button increaseFontSizeBtn = new Button("Increase Font Size");
-        increaseFontSizeBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent event) {
-                fontSize += 1;
-                textField.setStyle("-fx-font-size: " + fontSize + "pt");
-                passwordField.setStyle("-fx-font-size: " + fontSize + "pt");
-            }
+        increaseFontSizeBtn.setOnAction(event -> {
+            fontSize += 1;
+            textField.setStyle("-fx-font-size: " + fontSize + "pt");
+            passwordField.setStyle("-fx-font-size: " + fontSize + "pt");
         });
 
         Button decreaseFontSizeBtn = new Button("Decrease Font Size");
-        decreaseFontSizeBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent event) {
-                fontSize -= 1;
-                textField.setStyle("-fx-font-size: " + fontSize + "pt");
-                passwordField.setStyle("-fx-font-size: " + fontSize + "pt");
-            }
+        decreaseFontSizeBtn.setOnAction(event -> {
+            fontSize -= 1;
+            textField.setStyle("-fx-font-size: " + fontSize + "pt");
+            passwordField.setStyle("-fx-font-size: " + fontSize + "pt");
         });
 
         Button defaultBtn = new Button("Default Action");
         defaultBtn.setDefaultButton(true);
-        defaultBtn.setOnAction(new EventHandler<ActionEvent>() {
-            @Override public void handle(ActionEvent event) {
-                System.out.println("Default Action");
-            }
-        });
+        defaultBtn.setOnAction(event -> System.out.println("Default Action"));
 
         VBox fieldBox = new VBox(5);
         fieldBox.setFillWidth(false);
--- a/apps/toys/Hello/src/main/java/hello/HelloToggleButton.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloToggleButton.java	Fri Feb 28 11:47:35 2014 -0500
@@ -27,8 +27,6 @@
 
 import static javafx.scene.paint.Color.GHOSTWHITE;
 import javafx.application.Application;
-import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
 import javafx.collections.ObservableList;
 import javafx.scene.Group;
 import javafx.scene.Node;
@@ -50,13 +48,9 @@
         Scene scene = newScene();
         
         final ToggleGroup group = new ToggleGroup();
-        group.selectedToggleProperty().addListener(new InvalidationListener() {
-            public void invalidated(Observable ov) {
-                System.out.println("UserData for selected Toggle: " +
-                        (group.getSelectedToggle() == null ? "****** no selected toggle******" :
-                            group.getSelectedToggle().getUserData()));
-            }
-        });
+        group.selectedToggleProperty().addListener(ov -> System.out.println("UserData for selected Toggle: " +
+                (group.getSelectedToggle() == null ? "****** no selected toggle******" :
+                    group.getSelectedToggle().getUserData())));
         
         ToggleButton button1 = new ToggleButton("Luke, *I* am your father");
         button1.setUserData("Button 1");
--- a/apps/toys/Hello/src/main/java/hello/HelloTouch.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloTouch.java	Fri Feb 28 11:47:35 2014 -0500
@@ -28,7 +28,6 @@
 import javafx.beans.value.ChangeListener;
 import javafx.beans.value.ObservableValue;
 import javafx.beans.property.DoubleProperty;
-import javafx.event.ActionEvent;
 import javafx.event.Event;
 import javafx.event.EventHandler;
 import javafx.scene.Group;
@@ -48,6 +47,7 @@
 import javafx.geometry.Pos;
 import javafx.geometry.Point2D;
 import javafx.geometry.Insets;
+
 import com.sun.glass.ui.Robot;
 
 public class HelloTouch extends Application {
@@ -101,30 +101,22 @@
         rec.setLayoutY(10);
 
         btnA.setId("custom-red-button");
-        redPressHandler = new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent event) {
-                increaseCount(aPressed, "A: ");
-                increaseCount(allPressed, "All: ");
-                rec.setFill(Color.RED);
-            }
+        redPressHandler = event -> {
+            increaseCount(aPressed, "A: ");
+            increaseCount(allPressed, "All: ");
+            rec.setFill(Color.RED);
         };
         btnA.setOnMousePressed(redPressHandler);
 
         btnB.setId("custom-green-button");
-        greenPressHandler = new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent event) {
-                increaseCount(bPressed, "B: ");
-                increaseCount(allPressed, "All: ");
-                rec.setFill(Color.GREEN);
-            }
+        greenPressHandler = event -> {
+            increaseCount(bPressed, "B: ");
+            increaseCount(allPressed, "All: ");
+            rec.setFill(Color.GREEN);
         };
         btnB.setOnMousePressed(greenPressHandler);
 
-        EventHandler<MouseEvent> releaseHandler = new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent event) {
-                rec.setFill(Color.WHITE);
-            }
-        };
+        EventHandler<MouseEvent> releaseHandler = event -> rec.setFill(Color.WHITE);
         btnA.setOnMouseReleased(releaseHandler);
         btnB.setOnMouseReleased(releaseHandler);
 
@@ -136,11 +128,7 @@
         frame.setFill(Color.WHITE);
 
         buttonsPane.getChildren().addAll(frame, btnA, btnB);
-        buttonsPane.setOnMousePressed(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent event) {
-                increaseCount(allPressed, "All: ");
-            }
-        });
+        buttonsPane.setOnMousePressed(event -> increaseCount(allPressed, "All: "));
 
         // Radio Buttons configuration
         ToggleGroup radioBtnsGroup = new ToggleGroup();
@@ -170,51 +158,36 @@
 
         option1.setToggleGroup(optionsGroup);
         option1.setSelected(true);
-        option1.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                optionFlag = 1;
-                updateButtonPane();
-            }
+        option1.setOnAction(e -> {
+            optionFlag = 1;
+            updateButtonPane();
         });
 
         RadioButton option2 = new RadioButton("Small Gap");
         option2.setToggleGroup(optionsGroup);
-        option2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                optionFlag = 2;
-                updateButtonPane();
-            }
+        option2.setOnAction(e -> {
+            optionFlag = 2;
+            updateButtonPane();
         });
 
         option3.setToggleGroup(optionsGroup);
-        option3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                optionFlag = 3;
-                updateButtonPane();
-            }
+        option3.setOnAction(e -> {
+            optionFlag = 3;
+            updateButtonPane();
         });
 
         RadioButton option4 = new RadioButton("Small Button");
         option4.setToggleGroup(optionsGroup);
-        option4.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                optionFlag = 4;
-                updateButtonPane();
-            }
+        option4.setOnAction(e -> {
+            optionFlag = 4;
+            updateButtonPane();
         });
 
         RadioButton option5 = new RadioButton("Custom: ");
         option5.setToggleGroup(optionsGroup);
-        option5.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                optionFlag = 5;
-                updateButtonPane();
-            }
+        option5.setOnAction(e -> {
+            optionFlag = 5;
+            updateButtonPane();
         });
 
         btnSizeSlider.setDisable(true);
@@ -231,32 +204,23 @@
         RadioButton mode1 = new RadioButton("Buttons");
         mode1.setToggleGroup(modeGroup);
         mode1.setSelected(true);
-        mode1.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                modeFlag = 1;
-                updateButtonPane();
-            }
+        mode1.setOnAction(e -> {
+            modeFlag = 1;
+            updateButtonPane();
         });
 
         RadioButton mode2 = new RadioButton("Radio Buttons");
         mode2.setToggleGroup(modeGroup);
-        mode2.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                modeFlag = 2;
-                updateButtonPane();
-            }
+        mode2.setOnAction(e -> {
+            modeFlag = 2;
+            updateButtonPane();
         });
 
         RadioButton mode3 = new RadioButton("Checkboxes");
         mode3.setToggleGroup(modeGroup);
-        mode3.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                modeFlag = 3;
-                updateButtonPane();
-            }
+        mode3.setOnAction(e -> {
+            modeFlag = 3;
+            updateButtonPane();
         });
 
         VBox modeRadioBox = new VBox(15);
@@ -276,16 +240,13 @@
         allPressed.setLayoutY(20);
 
         Button reset = new Button("Reset");
-        reset.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent e) {
-                countA = 0;
-                aPressed.setText("A: 0");
-                countB = 0;
-                bPressed.setText("B: 0");
-                countAll = 0;
-                allPressed.setText("All: 0");
-            }
+        reset.setOnAction(e -> {
+            countA = 0;
+            aPressed.setText("A: 0");
+            countB = 0;
+            bPressed.setText("B: 0");
+            countAll = 0;
+            allPressed.setText("All: 0");
         });
 
         reset.setLayoutX(650);
@@ -318,32 +279,23 @@
     public void setEditMode(final Control b1, final Control b2) {
         pressedX = 0;
         pressedY = 0;
-        final EventHandler<MouseEvent> onpress = new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                pressedX = event.getX();
-                pressedY = event.getY();
-            }
+        final EventHandler<MouseEvent> onpress = event -> {
+            pressedX = event.getX();
+            pressedY = event.getY();
         };
         b1.setOnMousePressed(onpress);
-        b1.setOnMouseDragged(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                b1.setLayoutX(b1.getLayoutX() + event.getX() - pressedX);
-                b1.setLayoutY(b1.getLayoutY() + event.getY() - pressedY);
-                currentAX = pixelToCm(b1.getLayoutX());
-                currentAY = pixelToCm(b1.getLayoutY());
-            }
+        b1.setOnMouseDragged(event -> {
+            b1.setLayoutX(b1.getLayoutX() + event.getX() - pressedX);
+            b1.setLayoutY(b1.getLayoutY() + event.getY() - pressedY);
+            currentAX = pixelToCm(b1.getLayoutX());
+            currentAY = pixelToCm(b1.getLayoutY());
         });
         b2.setOnMousePressed(onpress);
-        b2.setOnMouseDragged(new EventHandler<MouseEvent>() {
-            @Override
-            public void handle(MouseEvent event) {
-                b2.setLayoutX(b2.getLayoutX() + event.getX() - pressedX);
-                b2.setLayoutY(b2.getLayoutY() + event.getY() - pressedY);
-                currentBX = pixelToCm(b2.getLayoutX());
-                currentBY = pixelToCm(b2.getLayoutY());
-            }
+        b2.setOnMouseDragged(event -> {
+            b2.setLayoutX(b2.getLayoutX() + event.getX() - pressedX);
+            b2.setLayoutY(b2.getLayoutY() + event.getY() - pressedY);
+            currentBX = pixelToCm(b2.getLayoutX());
+            currentBY = pixelToCm(b2.getLayoutY());
         });
     }
 
@@ -413,14 +365,11 @@
                                             currentAY), new Point2D(currentBX,
                                             currentBY));
                         });
-                editMode.setOnAction(new EventHandler<ActionEvent>() {
-                    @Override
-                    public void handle(ActionEvent event) {
-                        if (editMode.isSelected()) {
-                            setEditMode(btnA, btnB);
-                        } else {
-                            setDefaultMode(btnA, btnB);
-                        }
+                editMode.setOnAction(event -> {
+                    if (editMode.isSelected()) {
+                        setEditMode(btnA, btnB);
+                    } else {
+                        setDefaultMode(btnA, btnB);
                     }
                 });
                 break;
@@ -478,14 +427,11 @@
                                             currentAY), new Point2D(currentBX,
                                             currentBY));
                         });
-                editMode.setOnAction(new EventHandler<ActionEvent>() {
-                    @Override
-                    public void handle(ActionEvent event) {
-                        if (editMode.isSelected()) {
-                            setEditMode(rbtnA, rbtnB);
-                        } else {
-                            setDefaultMode(rbtnA, rbtnB);
-                        }
+                editMode.setOnAction(event -> {
+                    if (editMode.isSelected()) {
+                        setEditMode(rbtnA, rbtnB);
+                    } else {
+                        setDefaultMode(rbtnA, rbtnB);
                     }
                 });
                 break;
@@ -544,14 +490,11 @@
                                             currentAY), new Point2D(currentBX,
                                             currentBY));
                         });
-                editMode.setOnAction(new EventHandler<ActionEvent>() {
-                    @Override
-                    public void handle(ActionEvent event) {
-                        if (editMode.isSelected()) {
-                            setEditMode(chbtnA, chbtnB);
-                        } else {
-                            setDefaultMode(chbtnA, chbtnB);
-                        }
+                editMode.setOnAction(event -> {
+                    if (editMode.isSelected()) {
+                        setEditMode(chbtnA, chbtnB);
+                    } else {
+                        setDefaultMode(chbtnA, chbtnB);
                     }
                 });
                 break;
--- a/apps/toys/Hello/src/main/java/hello/HelloWindowManager.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Hello/src/main/java/hello/HelloWindowManager.java	Fri Feb 28 11:47:35 2014 -0500
@@ -26,14 +26,12 @@
 package hello;
 
 import java.util.Iterator;
+
 import javafx.application.Application;
 import javafx.beans.InvalidationListener;
 import javafx.beans.Observable;
-import javafx.beans.value.ChangeListener;
-import javafx.beans.value.ObservableValue;
 import javafx.collections.ObservableList;
 import javafx.event.ActionEvent;
-import javafx.event.Event;
 import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.Node;
@@ -57,7 +55,6 @@
 import javafx.stage.Popup;
 import javafx.stage.Stage;
 import javafx.stage.Window;
-import javafx.stage.WindowEvent;
 
 public class HelloWindowManager extends Application {
     private static double WIDTH = 300;
@@ -214,46 +211,23 @@
         stage.setWidth(WIDTH);
         stage.setHeight(HEIGHT);
 
-        EventHandler showHideHandler = new EventHandler<Event>() {
-            @Override
-            public void handle(Event t) {
-                System.out.println(eventTag+" ShowHide " + t.getEventType());
-            }
-        };
+        EventHandler showHideHandler = t -> System.out.println(eventTag+" ShowHide " + t.getEventType());
 
 
         Scene scene = createScene(new PopupPlacement(0, 500 - (stageCount -1)*200),stage,name);
 
         stage.setResizable(true);
 
-        stage.addEventHandler(KeyEvent.ANY, new EventHandler<KeyEvent>() {
-
-            @Override
-            public void handle(KeyEvent ke) {
-                System.out.println(eventTag+" " + ke);
-            }
-        });
+        stage.addEventHandler(KeyEvent.ANY, ke -> System.out.println(eventTag+" " + ke));
 
         stage.setOnShowing(showHideHandler);
         stage.setOnShown(showHideHandler);
         stage.setOnHiding(showHideHandler);
         stage.setOnHidden(showHideHandler);
 
-        stage.onShowingProperty().addListener(new ChangeListener<EventHandler<WindowEvent>>() {
+        stage.onShowingProperty().addListener((ov, t, t1) -> System.out.println(eventTag+t));
 
-            @Override
-            public void changed(ObservableValue<? extends EventHandler<WindowEvent>> ov, EventHandler<WindowEvent> t, EventHandler<WindowEvent> t1) {
-                System.out.println(eventTag+t);
-            }
-        });
-
-        stage.focusedProperty().addListener(new ChangeListener<Boolean>() {
-            public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
-                System.out.println(eventTag+" Focused changed to "+newValue);
-                
-            }
-
-        });
+        stage.focusedProperty().addListener((observable, oldValue, newValue) -> System.out.println(eventTag+" Focused changed to "+newValue));
 
         stage.setScene(scene);
 
@@ -271,13 +245,10 @@
         final Rectangle rect = new Rectangle();
         rect.setX(0);
         rect.setY(0);
-        rect.sceneProperty().addListener(new ChangeListener<Scene>() {
-            @Override public void changed(ObservableValue<? extends Scene> ov,
-                    Scene oldScene, Scene newScene) {
-                rect.widthProperty().bind(newScene.widthProperty());
-                rect.heightProperty().bind(newScene.heightProperty());
-            }
-        });
+        rect.sceneProperty().addListener((ov, oldScene, newScene) -> {
+            rect.widthProperty().bind(newScene.widthProperty());
+            rect.heightProperty().bind(newScene.heightProperty());
+         });
         Rectangle rectInner = new Rectangle();
         rectInner.setX(1);
         rectInner.setY(1);
@@ -288,21 +259,13 @@
         rectInner.setStrokeWidth(2);
         content.add(rect);
         content.add(rectInner);
-        rectInner.addEventHandler(MouseEvent.ANY, new EventHandler<MouseEvent>() {
-
-            @Override
-            public void handle(MouseEvent me) {
-                if (showMouse)
-                    System.out.println(eventTag+" " + me);
-            }
+        rectInner.addEventHandler(MouseEvent.ANY, me -> {
+            if (showMouse)
+                System.out.println(eventTag+" " + me);
         });
-        rectInner.addEventHandler(ScrollEvent.ANY, new EventHandler<ScrollEvent>() {
-
-            @Override
-            public void handle(ScrollEvent se) {
-                if (showMouse)
-                    System.out.println(eventTag+" " + se);
-            }
+        rectInner.addEventHandler(ScrollEvent.ANY, se -> {
+            if (showMouse)
+                System.out.println(eventTag+" " + se);
         });
 
         final Label nameLabel = new Label(name);
@@ -381,14 +344,9 @@
             fsButton.setOnAction(new ReshapingHandler(ReshapingActions.FULLSCREEN_TOGGLE, window));
             content.add(fsButton);
             
-            ((Stage)window).fullScreenProperty().addListener(new ChangeListener<Boolean>() {
-
-                @Override
-                public void changed(ObservableValue<? extends Boolean> ov, Boolean oldValue, Boolean newValue) {
-                    System.out.println("FULLSCREEN now +"+newValue);
-                    fsButton.setText(newValue ? "Normal": "Full Screen");
-                }
-
+            ((Stage)window).fullScreenProperty().addListener((ov, oldValue, newValue) -> {
+                System.out.println("FULLSCREEN now +"+newValue);
+                fsButton.setText(newValue ? "Normal": "Full Screen");
             });
 
             final Button normalButton = new Button("Close");
@@ -429,12 +387,7 @@
         final Button mouseButton = new Button("Mouse Output");
         mouseButton.setLayoutX(50);
         mouseButton.setLayoutY(line);
-        mouseButton.setOnAction(new EventHandler<ActionEvent>() {
-            @Override
-            public void handle(ActionEvent t) {
-                showMouse = !showMouse;
-            }
-        });
+        mouseButton.setOnAction(t -> showMouse = !showMouse);
         content.add(mouseButton);
 
         if (window instanceof javafx.stage.Stage) {
@@ -458,28 +411,24 @@
             escbox.getChildren().add(escrb2);
             escbox.getChildren().add(escrb3);
 
-            escgroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
-                @Override
-                public void changed(ObservableValue<? extends Toggle> ov,
-                        Toggle old_toggle, Toggle new_toggle) {
-                    System.out.print("ESC CHANGED: ");
-                    Toggle selected = escgroup.getSelectedToggle();
-                    if (selected != null) {
-                        Stage s = (Stage)window;
-                        if (selected.equals(escrb1)) {
-                            System.out.println("DEFAULT");
-                            s.setFullScreenExitKeyCombination(null);
-                        } else if (selected.equals(escrb2)) {
-                            s.setFullScreenExitKeyCombination(ctrlC);
-                            System.out.println("CTRL-C");
-                        }else if (selected.equals(escrb3)) {
-                            s.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
-                            System.out.println("NO_MATCH");
-                        } else {
-                            System.out.println("NO MATCH FOR ESC KEY TOGGLE?");
-                        }
-                    }
-                }
+            escgroup.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
+               System.out.print("ESC CHANGED: ");
+               Toggle selected = escgroup.getSelectedToggle();
+               if (selected != null) {
+            Stage s = (Stage)window;
+            if (selected.equals(escrb1)) {
+                System.out.println("DEFAULT");
+                s.setFullScreenExitKeyCombination(null);
+            } else if (selected.equals(escrb2)) {
+                s.setFullScreenExitKeyCombination(ctrlC);
+                System.out.println("CTRL-C");
+            }else if (selected.equals(escrb3)) {
+                s.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
+                System.out.println("NO_MATCH");
+            } else {
+                System.out.println("NO MATCH FOR ESC KEY TOGGLE?");
+            }
+               }
             });
 
             VBox hintbox = new VBox();
@@ -500,28 +449,24 @@
             hintbox.getChildren().add(hintrb2);
             hintbox.getChildren().add(hintrb3);
 
-            hintgroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
-                @Override
-                public void changed(ObservableValue<? extends Toggle> ov,
-                        Toggle old_toggle, Toggle new_toggle) {
-                    Toggle selected = hintgroup.getSelectedToggle();
-                    System.out.print("HINT CHANGED:");
-                    if (selected != null) {
-                        Stage s = (Stage)window;
-                        if (selected.equals(hintrb1)) {
-                            System.out.println("DEFAULT");
-                            s.setFullScreenExitHint(null);
-                        } else if (selected.equals(hintrb2)) {
-                            System.out.println("HI WORLD");
-                            s.setFullScreenExitHint("HI WORLD");
-                        }else if (selected.equals(hintrb3)) {
-                            System.out.println("Disable empty string");
-                            s.setFullScreenExitHint("");
-                        } else {
-                            System.out.println("NO MATCH FOR ESC HINT TOGGLE?");
-                        }
-                    }
-                }
+            hintgroup.selectedToggleProperty().addListener((ov, old_toggle, new_toggle) -> {
+               Toggle selected = hintgroup.getSelectedToggle();
+               System.out.print("HINT CHANGED:");
+               if (selected != null) {
+            Stage s = (Stage)window;
+            if (selected.equals(hintrb1)) {
+                System.out.println("DEFAULT");
+                s.setFullScreenExitHint(null);
+            } else if (selected.equals(hintrb2)) {
+                System.out.println("HI WORLD");
+                s.setFullScreenExitHint("HI WORLD");
+            }else if (selected.equals(hintrb3)) {
+                System.out.println("Disable empty string");
+                s.setFullScreenExitHint("");
+            } else {
+                System.out.println("NO MATCH FOR ESC HINT TOGGLE?");
+            }
+               }
             });
 
             if (true) {
@@ -564,42 +509,18 @@
         final String name = "Popup"+Integer.toString(popupID);
         final String eventTag = "#"+name;
 
-        EventHandler showHideHandler = new EventHandler<Event>() {
-            @Override
-            public void handle(Event t) {
-                System.out.println(eventTag+" ShowHide " + t.getEventType());
-            }
-        };
+        EventHandler showHideHandler = t -> System.out.println(eventTag+" ShowHide " + t.getEventType());
 
         popup.setOnShowing(showHideHandler);
         popup.setOnShown(showHideHandler);
         popup.setOnHiding(showHideHandler);
         popup.setOnHidden(showHideHandler);
 
-        popup.addEventHandler(KeyEvent.ANY, new EventHandler<KeyEvent>() {
+        popup.addEventHandler(KeyEvent.ANY, ke -> System.out.println(eventTag+" " + ke));
 
-            @Override
-            public void handle(KeyEvent ke) {
-                System.out.println(eventTag+" " + ke);
-            }
-        });
+       popup.addEventHandler(MouseEvent.ANY, me -> System.out.println(eventTag+" " + me));
 
-       popup.addEventHandler(MouseEvent.ANY, new EventHandler<MouseEvent>() {
-
-            @Override
-            public void handle(MouseEvent me) {
-                System.out.println(eventTag+" " + me);
-            }
-        });
-
-        popup.focusedProperty().addListener(new ChangeListener<Boolean>() {
-            @Override
-            public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
-                System.out.println(eventTag+" Focused changed to "+newValue);
-                
-            }
-
-        });
+        popup.focusedProperty().addListener((observable, oldValue, newValue) -> System.out.println(eventTag+" Focused changed to "+newValue));
 
         popup.getContent().add(createRootGroup(popupPlacement,name,popup));
         popup.setAutoHide(true);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/CubicCurveT3D.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/CubicCurveT3D.java	Fri Feb 28 11:47:35 2014 -0500
@@ -30,11 +30,9 @@
 import javafx.application.Application;
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -65,24 +63,9 @@
                 CycleMethod.NO_CYCLE,
                 new Stop(0, Color.LIME),
                 new Stop(1, Color.GREEN)));
-        cubiccurve.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Clicked:" + e);
-                }
-            });
-        cubiccurve.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Entered");
-                }
-            });
-        cubiccurve.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Exited");
-                }
-            });
+        cubiccurve.setOnMouseClicked(e -> System.out.println("Mouse Clicked:" + e));
+        cubiccurve.setOnMouseEntered(e -> System.out.println("Mouse Entered"));
+        cubiccurve.setOnMouseExited(e -> System.out.println("Mouse Exited"));
         final Group group = new Group(cubiccurve);
         group.setRotate(30);
         group.setTranslateX((sceneWidth - 300) / 2);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3D.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3D.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,11 +29,9 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -62,71 +60,26 @@
         ellipse.setFill(lg);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
-        ellipse.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Entered");
-                }
-            });
-        ellipse.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Exited");
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
+        ellipse.setOnMouseEntered(e -> System.out.println("Ellipse: Mouse Entered"));
+        ellipse.setOnMouseExited(e -> System.out.println("Ellipse: Mouse Exited"));
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         arc.setType(ArcType.ROUND);
         arc.setFill(lg);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
-        arc.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Entered");
-                }
-            });
-        arc.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Exited");
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
+        arc.setOnMouseEntered(e -> System.out.println("Arc: Mouse Entered"));
+        arc.setOnMouseExited(e -> System.out.println("Arc: Mouse Exited"));
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         rectangle.setArcHeight(20.0F);
         rectangle.setArcWidth(20.0F);
         rectangle.setFill(lg);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
-        rectangle.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Entered");
-                }
-            });
-        rectangle.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Exited");
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
+        rectangle.setOnMouseEntered(e -> System.out.println("Rectangle: Mouse Entered"));
+        rectangle.setOnMouseExited(e -> System.out.println("Rectangle: Mouse Exited"));
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
         Polygon polygon = new Polygon();
@@ -134,24 +87,9 @@
         polygon.setFill(lg);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
-        polygon.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Entered");
-                }
-            });
-        polygon.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Exited");
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
+        polygon.setOnMouseEntered(e -> System.out.println("Polygon: Mouse Entered"));
+        polygon.setOnMouseExited(e -> System.out.println("Polygon: Mouse Exited"));
         group.getChildren().addAll(ellipse, arc, rectangle, polygon);
         ((Group)scene.getRoot()).getChildren().addAll(group);
         stage.setScene(scene);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect1.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect1.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,12 +29,10 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
 import javafx.scene.effect.DropShadow;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Arc;
 import javafx.scene.shape.ArcType;
@@ -59,12 +57,7 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         DropShadow dropshadow2 = new DropShadow();
         dropshadow2.setOffsetY(10.0F);
@@ -73,12 +66,7 @@
         arc.setFill(Color.RED);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         DropShadow dropshadow3 = new DropShadow();
         dropshadow3.setOffsetY(10.0F);
@@ -88,12 +76,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
         Polygon polygon = new Polygon();
@@ -104,12 +87,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect2.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect2.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,12 +29,10 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
 import javafx.scene.effect.DropShadow;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Arc;
 import javafx.scene.shape.ArcType;
@@ -60,24 +58,14 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         //                                    effect: DropShadow { offsetY: 10 }
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         arc.setType(ArcType.ROUND);
         arc.setFill(Color.RED);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         //                                    effect: DropShadow { offsetY: 10 }
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         rectangle.setArcHeight(20.0F);
@@ -85,12 +73,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         //                                    effect: DropShadow { offsetY: 10 }
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
@@ -99,12 +82,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect3.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffect3.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,12 +29,10 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
 import javafx.scene.effect.DropShadow;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Arc;
 import javafx.scene.shape.ArcType;
@@ -61,24 +59,14 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         //                                    effect: DropShadow { offsetY: 10 }
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         arc.setType(ArcType.ROUND);
         arc.setFill(Color.RED);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         //                                    effect: DropShadow { offsetY: 10 }
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         rectangle.setArcHeight(20.0F);
@@ -86,12 +74,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         //                                    effect: DropShadow { offsetY: 10 }
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
@@ -100,12 +83,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffectCache.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DEffectCache.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,12 +29,10 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
 import javafx.scene.effect.DropShadow;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -68,12 +66,7 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         DropShadow dropshadow2 = new DropShadow();
         dropshadow2.setOffsetY(10.0F);
@@ -83,12 +76,7 @@
         arc.setFill(lg);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         DropShadow dropshadow3 = new DropShadow();
         dropshadow3.setOffsetY(10.0F);
@@ -99,12 +87,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
         Polygon polygon = new Polygon();
@@ -116,12 +99,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity1.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity1.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,11 +29,9 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -64,24 +62,14 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         arc.setOpacity(0.5F);
         arc.setType(ArcType.ROUND);
         arc.setFill(lg);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         rectangle.setOpacity(0.5F);
         rectangle.setArcHeight(20.0F);
@@ -89,12 +77,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
         Polygon polygon = new Polygon();
@@ -103,12 +86,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity2.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity2.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,11 +29,9 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -65,24 +63,14 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         //                                    opacity: 0.5
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         arc.setType(ArcType.ROUND);
         arc.setFill(Color.RED);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         //                                    opacity: 0.5
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         rectangle.setArcHeight(20.0F);
@@ -90,12 +78,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         //                                    opacity: 0.5
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
@@ -104,12 +87,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity3.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/MixedShapesT3DOpacity3.java	Fri Feb 28 11:47:35 2014 -0500
@@ -29,11 +29,9 @@
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
 import javafx.collections.ObservableList;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.paint.CycleMethod;
 import javafx.scene.paint.LinearGradient;
@@ -66,24 +64,14 @@
         ellipse.setFill(Color.ORANGE);
         ellipse.setStroke(Color.BLUE);
         ellipse.setStrokeWidth(5.0F);
-        ellipse.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Ellipse: Mouse Clicked:" + e);
-                }
-            });
+        ellipse.setOnMouseClicked(e -> System.out.println("Ellipse: Mouse Clicked:" + e));
         //                                    opacity: 0.5
         Arc arc = new Arc(250.0F, 80.0F, 50.0F, 25.0F, 45.0F, 270.0F);
         arc.setType(ArcType.ROUND);
         arc.setFill(Color.RED);
         arc.setStroke(Color.BLUE);
         arc.setStrokeWidth(5.0F);
-        arc.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Arc: Mouse Clicked:" + e);
-                }
-            });
+        arc.setOnMouseClicked(e -> System.out.println("Arc: Mouse Clicked:" + e));
         //                                    opacity: 0.5
         Rectangle rectangle = new Rectangle(50.0F, 150.0F, 100.0F, 75.0F);
         rectangle.setArcHeight(20.0F);
@@ -91,12 +79,7 @@
         rectangle.setFill(Color.GREEN);
         rectangle.setStroke(Color.BLUE);
         rectangle.setStrokeWidth(5.0F);
-        rectangle.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Rectangle: Mouse Clicked:" + e);
-                }
-            });
+        rectangle.setOnMouseClicked(e -> System.out.println("Rectangle: Mouse Clicked:" + e));
         //                                    opacity: 0.5
         ObservableList<Double> floats = javafx.collections.FXCollections.<Double>observableArrayList();
         floats.addAll(200.0, 150.0, 250.0, 220.0, 300.0, 150.0);
@@ -105,12 +88,7 @@
         polygon.setFill(Color.YELLOW);
         polygon.setStroke(Color.BLUE);
         polygon.setStrokeWidth(5.0F);
-        polygon.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Polygon: Mouse Clicked:" + e);
-                }
-            });
+        polygon.setOnMouseClicked(e -> System.out.println("Polygon: Mouse Clicked:" + e));
         group2.getChildren().addAll(ellipse, arc, rectangle, polygon);
         group.getChildren().addAll(group2);
         ((Group)scene.getRoot()).getChildren().addAll(group);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/PathT3D.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/PathT3D.java	Fri Feb 28 11:47:35 2014 -0500
@@ -30,11 +30,9 @@
 import javafx.application.Application;
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.ArcTo;
 import javafx.scene.shape.HLineTo;
@@ -63,24 +61,9 @@
         path.getElements().clear();
         path.getElements().addAll(new MoveTo(10.0F, 50.0F), new HLineTo(70.0F), new QuadCurveTo(100.0F, 0.0F, 120.0F, 60.0F), new LineTo(175.0F, 55.0F), arcto);
         path.setFill(Color.BLUE);
-        path.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Clicked:" + e);
-                }
-            });
-        path.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Entered");
-                }
-            });
-        path.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Exited");
-                }
-            });
+        path.setOnMouseClicked(e -> System.out.println("Mouse Clicked:" + e));
+        path.setOnMouseEntered(e -> System.out.println("Mouse Entered"));
+        path.setOnMouseExited(e -> System.out.println("Mouse Exited"));
         group.getChildren().addAll(path);
         ((Group)scene.getRoot()).getChildren().addAll(group);
         stage.setScene(scene);
--- a/apps/toys/Shape3DToy/src/main/java/shapet3dtest/TextT3D.java	Fri Feb 28 11:45:29 2014 -0500
+++ b/apps/toys/Shape3DToy/src/main/java/shapet3dtest/TextT3D.java	Fri Feb 28 11:47:35 2014 -0500
@@ -32,11 +32,9 @@
 import javafx.application.Application;
 import javafx.application.ConditionalFeature;
 import javafx.application.Platform;
-import javafx.event.EventHandler;
 import javafx.scene.Group;
 import javafx.scene.PerspectiveCamera;
 import javafx.scene.Scene;
-import javafx.scene.input.MouseEvent;
 import javafx.scene.text.Font;
 import javafx.scene.text.Text;
 import javafx.scene.transform.Rotate;
@@ -51,24 +49,9 @@
         Text text = new Text(50.0F, 150.0F, "This is a test LONGLONGLONG     LONG");
         text.setFont(new Font(50.0F));
         text.setRotationAxis(Rotate.Y_AXIS);
-        text.setOnMouseClicked(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Clicked:" + e);
-                }
-            });
-        text.setOnMouseEntered(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Entered");
-                }
-            });
-        text.setOnMouseExited(new EventHandler<MouseEvent>() {
-                @Override
-                public void handle(MouseEvent e) {
-                    System.out.println("Mouse Exited");
-                }
-            });
+        text.setOnMouseClicked(e -> System.out.println("Mouse Clicked:" + e));
+        text.setOnMouseEntered(e -> System.out.println("Mouse Entered"));
+        text.setOnMouseExited(e -> System.out.println("Mouse Exited"));
         ((Group)scene.getRoot()).getChildren().addAll(text);
         stage.setScene(scene);
         stage.sizeToScene();