changeset 11186:1636fa640ddd

8210361: Add images to docs for public API classes of controls and missing examples Reviewed-by: kcr, aghaisas
author nlisker
date Tue, 29 Jan 2019 14:19:17 +0530
parents b5c27572ab56
children dbc803ab09d8
files modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Accordion.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Alert.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Button.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckBox.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckBoxTreeItem.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckMenuItem.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ChoiceBox.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ChoiceDialog.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ColorPicker.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ComboBox.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ContextMenu.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CustomMenuItem.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/DatePicker.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Dialog.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Hyperlink.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Label.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ListView.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Menu.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuBar.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuButton.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuItem.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Pagination.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/PasswordField.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressBar.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressBar_indeterminate.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressIndicator.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressIndicator_indeterminate.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/RadioButton.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/RadioMenuItem.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ScrollBar.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ScrollPane.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Separator.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SeparatorMenuItem.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Slider.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Spinner.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SplitMenuButton.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SplitPane.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TabPane.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TableView.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TextArea.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TextField.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TitledPane.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ToggleButton.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ToolBar.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Tooltip.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TreeTableView.png modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TreeView.png modules/javafx.controls/src/main/java/javafx/scene/control/Accordion.java modules/javafx.controls/src/main/java/javafx/scene/control/Alert.java modules/javafx.controls/src/main/java/javafx/scene/control/Button.java modules/javafx.controls/src/main/java/javafx/scene/control/CheckBox.java modules/javafx.controls/src/main/java/javafx/scene/control/CheckBoxTreeItem.java modules/javafx.controls/src/main/java/javafx/scene/control/CheckMenuItem.java modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceBox.java modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceDialog.java modules/javafx.controls/src/main/java/javafx/scene/control/ColorPicker.java modules/javafx.controls/src/main/java/javafx/scene/control/ComboBox.java modules/javafx.controls/src/main/java/javafx/scene/control/ContextMenu.java modules/javafx.controls/src/main/java/javafx/scene/control/CustomMenuItem.java modules/javafx.controls/src/main/java/javafx/scene/control/DatePicker.java modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java modules/javafx.controls/src/main/java/javafx/scene/control/Hyperlink.java modules/javafx.controls/src/main/java/javafx/scene/control/Label.java modules/javafx.controls/src/main/java/javafx/scene/control/ListView.java modules/javafx.controls/src/main/java/javafx/scene/control/Menu.java modules/javafx.controls/src/main/java/javafx/scene/control/MenuBar.java modules/javafx.controls/src/main/java/javafx/scene/control/MenuButton.java modules/javafx.controls/src/main/java/javafx/scene/control/MenuItem.java modules/javafx.controls/src/main/java/javafx/scene/control/Pagination.java modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java modules/javafx.controls/src/main/java/javafx/scene/control/ProgressBar.java modules/javafx.controls/src/main/java/javafx/scene/control/ProgressIndicator.java modules/javafx.controls/src/main/java/javafx/scene/control/RadioButton.java modules/javafx.controls/src/main/java/javafx/scene/control/RadioMenuItem.java modules/javafx.controls/src/main/java/javafx/scene/control/ScrollBar.java modules/javafx.controls/src/main/java/javafx/scene/control/ScrollPane.java modules/javafx.controls/src/main/java/javafx/scene/control/Separator.java modules/javafx.controls/src/main/java/javafx/scene/control/SeparatorMenuItem.java modules/javafx.controls/src/main/java/javafx/scene/control/Slider.java modules/javafx.controls/src/main/java/javafx/scene/control/Spinner.java modules/javafx.controls/src/main/java/javafx/scene/control/SplitMenuButton.java modules/javafx.controls/src/main/java/javafx/scene/control/SplitPane.java modules/javafx.controls/src/main/java/javafx/scene/control/TabPane.java modules/javafx.controls/src/main/java/javafx/scene/control/TableView.java modules/javafx.controls/src/main/java/javafx/scene/control/TextArea.java modules/javafx.controls/src/main/java/javafx/scene/control/TextField.java modules/javafx.controls/src/main/java/javafx/scene/control/TitledPane.java modules/javafx.controls/src/main/java/javafx/scene/control/ToggleButton.java modules/javafx.controls/src/main/java/javafx/scene/control/ToolBar.java modules/javafx.controls/src/main/java/javafx/scene/control/Tooltip.java modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableView.java modules/javafx.controls/src/main/java/javafx/scene/control/TreeView.java
diffstat 92 files changed, 463 insertions(+), 458 deletions(-) [+]
line wrap: on
line diff
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Accordion.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Alert.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Button.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckBox.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckBoxTreeItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CheckMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ChoiceBox.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ChoiceDialog.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ColorPicker.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ComboBox.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ContextMenu.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/CustomMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/DatePicker.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Dialog.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Hyperlink.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Label.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ListView.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Menu.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/MenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Pagination.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/PasswordField.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressBar_indeterminate.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressIndicator.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ProgressIndicator_indeterminate.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/RadioButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/RadioMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ScrollBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ScrollPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Separator.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SeparatorMenuItem.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Slider.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Spinner.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SplitMenuButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/SplitPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TabPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TableView.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TextArea.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TextField.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TitledPane.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ToggleButton.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/ToolBar.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/Tooltip.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TreeTableView.png has changed
Binary file modules/javafx.controls/src/main/docs/javafx/scene/control/doc-files/TreeView.png has changed
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Accordion.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Accordion.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,13 +55,16 @@
  * Accordion sets focusTraversable to false.
  * </p>
  *
- * <p>Example:
- * <pre><code>
- * TitledPane t1 = new TitledPane("T1", new Button("B1"));
+ * <p>
+ * Example:
+ * <pre><code> TitledPane t1 = new TitledPane("T1", new Button("B1"));
  * TitledPane t2 = new TitledPane("T2", new Button("B2"));
  * TitledPane t3 = new TitledPane("T3", new Button("B3"));
  * Accordion accordion = new Accordion();
  * accordion.getPanes().addAll(t1, t2, t3);</code></pre>
+ *
+ * <img src="doc-files/Accordion.png" alt="Image of the Accordion control">
+ *
  * @since JavaFX 2.0
  */
 public class Accordion extends Control {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Alert.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Alert.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,7 +56,9 @@
  * a dialog of the given type.
  *
  * <p>To instantiate (but not yet show) an Alert, simply use code such as the following:
- * {@code Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");}
+ * <pre>{@code Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");}</pre>
+ *
+ * <img src="doc-files/Alert.png" alt="Image of the Alert control">
  *
  * <p>Once an Alert is instantiated, we must show it. More often than not, alerts
  * (and dialogs in general) are shown in a modal and blocking fashion. 'Modal'
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Button.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Button.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -70,6 +70,9 @@
  *
  * <p>Example:
  * <pre><code>Button button = new Button("Click Me");</code></pre>
+ *
+ * <img src="doc-files/Button.png" alt="Image of the Button control">
+ *
  * @since JavaFX 2.0
  */
 public class Button extends ButtonBase {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBox.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBox.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,8 +63,10 @@
  * state.
  *
  * <p>Example:
- * <pre><code>CheckBox cb = new CheckBox("a checkbox");
- * cb.setIndeterminate(false);</code></pre>
+ * <pre><code> CheckBox cb = new CheckBox("a checkbox");
+ * cb.setSelected(true);</code></pre>
+ *
+ * <img src="doc-files/CheckBox.png" alt="Image of the CheckBox control">
  *
  * <p>
  * MnemonicParsing is enabled by default for CheckBox.
@@ -72,7 +74,6 @@
  *
  * @since JavaFX 2.0
  */
-
 public class CheckBox extends ButtonBase {
 
     /***************************************************************************
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBoxTreeItem.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CheckBoxTreeItem.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,25 +55,26 @@
  * <p>A simple example of using the CheckBoxTreeItem class, in conjunction with
  * {@link CheckBoxTreeCell} is shown below:
  *
- * <pre><code>
- * // create the tree model
- * CheckBoxTreeItem&lt;String&gt; jonathanGiles = new CheckBoxTreeItem&lt;String&gt;("Jonathan");
- * CheckBoxTreeItem&lt;String&gt; juliaGiles = new CheckBoxTreeItem&lt;String&gt;("Julia");
- * CheckBoxTreeItem&lt;String&gt; mattGiles = new CheckBoxTreeItem&lt;String&gt;("Matt");
- * CheckBoxTreeItem&lt;String&gt; sueGiles = new CheckBoxTreeItem&lt;String&gt;("Sue");
- * CheckBoxTreeItem&lt;String&gt; ianGiles = new CheckBoxTreeItem&lt;String&gt;("Ian");
+ * <pre><code>// create the tree model
+ * CheckBoxTreeItem&lt;String&gt; jonathanGiles = new CheckBoxTreeItem&lt;&gt;("Jonathan");
+ * CheckBoxTreeItem&lt;String&gt; juliaGiles = new CheckBoxTreeItem&lt;&gt;("Julia");
+ * CheckBoxTreeItem&lt;String&gt; mattGiles = new CheckBoxTreeItem&lt;&gt;("Matt");
+ * CheckBoxTreeItem&lt;String&gt; sueGiles = new CheckBoxTreeItem&lt;&gt;("Sue");
+ * CheckBoxTreeItem&lt;String&gt; ianGiles = new CheckBoxTreeItem&lt;&gt;("Ian");
  *
- * CheckBoxTreeItem&lt;String&gt; gilesFamily = new CheckBoxTreeItem&lt;String&gt;("Giles Family");
+ * CheckBoxTreeItem&lt;String&gt; gilesFamily = new CheckBoxTreeItem&lt;&gt;("Giles Family");
  * gilesFamily.setExpanded(true);
  * gilesFamily.getChildren().addAll(jonathanGiles, juliaGiles, mattGiles, sueGiles, ianGiles);
  *
  * // create the treeView
- * final TreeView&lt;String&gt; treeView = new TreeView&lt;String&gt;();
+ * final TreeView&lt;String&gt; treeView = new TreeView&lt;&gt;();
  * treeView.setRoot(gilesFamily);
  *
  * // set the cell factory
  * treeView.setCellFactory(CheckBoxTreeCell.&lt;String&gt;forTreeView());</code></pre>
  *
+ * <img src="doc-files/CheckBoxTreeItem.png" alt="Image of the CheckBoxTreeItem control">
+ *
  * @param <T> The type of the value contained within the TreeItem
  * @see CheckBoxTreeCell
  * @see TreeItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CheckMenuItem.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CheckMenuItem.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,30 +36,23 @@
  * {@link Menu} or {@link ContextMenu} controls.
  * <p>
  * Creating and inserting a CheckMenuItem into a Menu is shown below.
-<pre><code>
-final subsystem1 = new CheckMenuItem("Enabled");
-subsystem1.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    public void handle(ActionEvent e) {
-        System.out.println("subsystem1 #1 Enabled!");
-    }
-});
+<pre><code>CheckMenuItem subsystem1 = new CheckMenuItem("Enabled");
+subsystem1.setOnAction(e {@literal ->} System.out.println("subsystem1 #1 Enabled!"));
 
-Menu subsystemsMenu = new Menu("Subsystems");
-subsystemsMenu.add(subsystem1);
-</code></pre>
+Menu menu = new Menu("Subsystems");
+menu.getItems().add(subsystem1);
+MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/CheckMenuItem.png" alt="Image of the CheckMenuItem control">
+ *
  * <p>
  * Of course, the approach shown above separates out the definition of the
  * CheckMenuItem from the Menu, but this needn't be so.
  * <p>
  * To ascertain the current state of the CheckMenuItem, you should refer to the
  * {@link #selectedProperty() selected} boolean. An example use case may be the following example:
-<pre><code>
-final checkMenuItem = new CheckMenuItem("Show Widget");
-subsystem1.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    public void handle(ActionEvent e) {
-        System.out.println("Show the widget!");
-    }
-});
+<pre><code>final checkMenuItem = new CheckMenuItem("Show Widget");
+subsystem1.setOnAction(e {@literal ->} System.out.println("Show the widget!"));
 private final BooleanProperty widgetShowing();
 public final boolean isWidgetShowing() { return widgetShowing.get(); )
 public final void setWidgetShowing(boolean value) {
@@ -72,8 +65,8 @@
     return widgetShowing;
 }
 
-widgetShowing.bind(checkMenuItem.selected);
-</code></pre>
+widgetShowing.bind(checkMenuItem.selected);</code></pre>
+ *
  * <p>
  * Typically a CheckMenuItem will be rendered such that, when selected, it shows
  * a check (or tick) mark in the area normally reserved for the MenuItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceBox.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceBox.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -72,12 +72,13 @@
  * although this is likely to be rarely changed. ChoiceBox supports only a
  * single selection model, hence the default used is a {@link SingleSelectionModel}.
  *
- * <pre>
- * import javafx.scene.control.ChoiceBox;
+ * <p>
+ * Example:
+ * <pre> ChoiceBox cb = new ChoiceBox();
+ * cb.getItems().addAll("item1", "item2", "item3");</pre>
  *
- * ChoiceBox cb = new ChoiceBox();
- * cb.getItems().addAll("item1", "item2", "item3");
- * </pre>
+ * <img src="doc-files/ChoiceBox.png" alt="Image of the ChoiceBox control">
+ *
  * @since JavaFX 2.0
  */
 @DefaultProperty("items")
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceDialog.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ChoiceDialog.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,14 @@
  * A dialog that shows a list of choices to the user, from which they can pick
  * one item at most.
  *
+ * <p>
+ * Example:
+ * <pre> {@code List<String> colors = List.of("Red", "Yellow", "Green");
+ * ChoiceDialog choiceDialog = new ChoiceDialog<>("Yellow", colors);
+ * choiceDialog.showAndWait();}</pre>
+ *
+ * <img src="doc-files/ChoiceDialog.png" alt="Image of the ChoiceDialog control">
+ *
  * @see Dialog
  * @param <T> The type of the items to show to the user, and the type that is returned
  *            via {@link #getResult()} when the dialog is dismissed.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ColorPicker.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ColorPicker.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,15 +52,13 @@
  * <p>The {@link #promptTextProperty() promptText} is not supported and hence is a no-op.
  * But it may be supported in the future.
  *
- * <pre><code>
- * final ColorPicker colorPicker = new ColorPicker();
- * colorPicker.setOnAction(new EventHandler() {
- *     public void handle(Event t) {
- *         Color c = colorPicker.getValue();
- *         System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue());
- *     }
- * });
- * </code></pre>
+ * <pre><code> ColorPicker colorPicker = new ColorPicker();
+ * colorPicker.setOnAction(e {@literal ->} {
+ *     Color c = colorPicker.getValue();
+ *     System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue());
+ * });</code></pre>
+ *
+ * <img src="doc-files/ColorPicker.png" alt="Image of the ColorPicker control">
  *
  * <p>The ColorPicker control's appearance can be styled in three ways: a simple Button mode,
  * MenuButton mode or SplitMenuButton mode. The default is MenuButton mode.
@@ -68,13 +66,10 @@
  * and for SplitMenuButton appearance and behavior, the style class to use is
  * {@link #STYLE_CLASS_SPLIT_BUTTON STYLE_CLASS_SPLIT_BUTTON}.
  *
- * <pre><code>
- * colorPicker.getStyleClass().add("button");
- * </code></pre>
- * or
- * <pre><code>
- * colorPicker.getStyleClass().add("split-button");
- * </code></pre>
+ * <pre>colorPicker.getStyleClass().add("button");</pre>
+ * <p>or
+ * <pre>colorPicker.getStyleClass().add("split-button");</pre>
+ *
  * @since JavaFX 2.2
  */
 public class ColorPicker extends ComboBoxBase<Color> {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ComboBox.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ComboBox.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -107,8 +107,7 @@
  * is with the following code (note the use of {@code setButtonCell}:
  *
  * <pre>
- * {@code
- * Callback<ListView<String>, ListCell<String>> cellFactory = ...;
+ * {@code Callback<ListView<String>, ListCell<String>> cellFactory = ...;
  * ComboBox comboBox = new ComboBox();
  * comboBox.setItems(items);
  * comboBox.setButtonCell(cellFactory.call(null));
@@ -140,45 +139,42 @@
  * provide a custom {@link #cellFactoryProperty() cell factory}. For example,
  * rather than use the following code:
  *
- * <pre>
- * {@code
- * ComboBox<Rectangle> cmb = new ComboBox<Rectangle>();
+ * <pre> {@code ComboBox<Rectangle> cmb = new ComboBox<>();
  * cmb.getItems().addAll(
  *     new Rectangle(10, 10, Color.RED),
  *     new Rectangle(10, 10, Color.GREEN),
- *     new Rectangle(10, 10, Color.BLUE));}</pre>
+ *     new Rectangle(10, 10, Color.BLUE));}}</pre>
  *
  * <p>You should do the following:</p>
  *
- * <pre><code>
- * ComboBox&lt;Color&gt; cmb = new ComboBox&lt;Color&gt;();
+ * <pre><code> ComboBox&lt;Color&gt; cmb = new ComboBox&lt;&gt;();
  * cmb.getItems().addAll(
  *     Color.RED,
  *     Color.GREEN,
  *     Color.BLUE);
  *
- * cmb.setCellFactory(new Callback&lt;ListView&lt;Color&gt;, ListCell&lt;Color&gt;&gt;() {
- *     &#064;Override public ListCell&lt;Color&gt; call(ListView&lt;Color&gt; p) {
- *         return new ListCell&lt;Color&gt;() {
- *             private final Rectangle rectangle;
- *             {
- *                 setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
- *                 rectangle = new Rectangle(10, 10);
+ * cmb.setCellFactory(p {@literal ->} {
+ *     return new ListCell&lt;&gt;() {
+ *         private final Rectangle rectangle;
+ *         {
+ *             setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
+ *             rectangle = new Rectangle(10, 10);
+ *         }
+ *
+ *         &#064;Override protected void updateItem(Color item, boolean empty) {
+ *             super.updateItem(item, empty);
+ *
+ *             if (item == null || empty) {
+ *                 setGraphic(null);
+ *             } else {
+ *                 rectangle.setFill(item);
+ *                 setGraphic(rectangle);
  *             }
+ *         }
+ *     };
+ * });</code></pre>
  *
- *             &#064;Override protected void updateItem(Color item, boolean empty) {
- *                 super.updateItem(item, empty);
- *
- *                 if (item == null || empty) {
- *                     setGraphic(null);
- *                 } else {
- *                     rectangle.setFill(item);
- *                     setGraphic(rectangle);
- *                 }
- *            }
- *       };
- *   }
- *});</code></pre>
+ * <img src="doc-files/ComboBox.png" alt="Image of the ComboBox control">
  *
  * <p>Admittedly the above approach is far more verbose, but it offers the
  * required functionality without encountering the scenegraph constraints.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ContextMenu.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ContextMenu.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,8 +59,8 @@
  * A common use case for this class is creating and showing context menus to
  * users. To create a context menu using ContextMenu you can do the
  * following:
-<pre><code>
-final ContextMenu contextMenu = new ContextMenu();
+ *
+<pre><code>final ContextMenu contextMenu = new ContextMenu();
 contextMenu.setOnShowing(new EventHandler&lt;WindowEvent&gt;() {
     public void handle(WindowEvent e) {
         System.out.println("showing");
@@ -87,16 +87,17 @@
 contextMenu.getItems().addAll(item1, item2);
 
 final TextField textField = new TextField("Type Something");
-textField.setContextMenu(contextMenu);
-</code></pre>
+textField.setContextMenu(contextMenu);</code></pre>
+ *
+ * <img src="doc-files/ContextMenu.png" alt="Image of the ContextMenu control">
  *
  * <p>{@link Control#setContextMenu(javafx.scene.control.ContextMenu) } convenience
  * method can be used to set a context menu on on any control. The example above results in the
  * context menu being displayed on the right {@link javafx.geometry.Side Side}
  * of the TextField. Alternatively, an event handler can also be set on the control
  * to invoke the context menu as shown below.
- * <pre><code>
-textField.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
+ *
+<pre><code>textField.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
     public void handle(ActionEvent e) {
         contextMenu.show(textField, Side.BOTTOM, 0, 0);
     }
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/CustomMenuItem.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/CustomMenuItem.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,15 +50,19 @@
  * Note that by default hideOnClick is true.
  * <p>
  * An example of how to use CustomMenuItem is shown below.
-<pre><code>
-CustomMenuItem customMenuItem = new CustomMenuItem(new Slider());
-customMenuItem.setHideOnClick(false);
-</code></pre>
+ *
+ * <pre><code> CustomMenuItem customMenuItem = new CustomMenuItem(new Slider());
+ * customMenuItem.setHideOnClick(false);
+ *
+ * Menu menu = new Menu("Brightness");
+ * menu.getItems().add(customMenuItem);
+ * MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/CustomMenuItem.png" alt="Image of the CustomMenuItem control">
+ *
  * <p>
- * If this CustomMenuItem, with the {@link Slider} within it, is placed in a
- * menu, you'll be presented with a slider that is horizontally centered when
- * the menu is visible, and interacting with the slider will not result in the
- * menu disappearing.
+ * The slider is horizontally centered when the menu is visible, and interacting
+ * with the slider will not result in the menu disappearing.
  *
  * @see MenuItem
  * @see Menu
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/DatePicker.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/DatePicker.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,7 +59,6 @@
 import javafx.scene.control.skin.DatePickerSkin;
 import com.sun.javafx.scene.control.skin.resources.ControlResources;
 
-
 /**
  * The DatePicker control allows the user to enter a date as text or
  * to select a date from a calendar popup. The calendar is based on
@@ -72,17 +71,15 @@
  * or by calling {@link #setValue setValue(LocalDate)}.  The
  * default value is null.
  *
- * <pre><code>
- * final DatePicker datePicker = new DatePicker();
- * datePicker.setOnAction(new EventHandler() {
- *     public void handle(Event t) {
- *         LocalDate date = datePicker.getValue();
- *         System.err.println("Selected date: " + date);
- *     }
- * });
- * </code></pre>
+ * <pre><code> DatePicker datePicker = new DatePicker();
+ * datePicker.setOnAction(e {@literal ->} {
+ *     LocalDate date = datePicker.getValue();
+ *     System.err.println("Selected date: " + date);
+ * });</code></pre>
  *
- * The {@link #chronologyProperty() chronology} property specifies a
+ * <img src="doc-files/DatePicker.png" alt="Image of the DatePicker control">
+ *
+ * <p>The {@link #chronologyProperty() chronology} property specifies a
  * calendar system to be used for parsing, displaying, and choosing
  * dates.
  * The {@link #valueProperty() value} property is always defined in
@@ -92,13 +89,10 @@
  * corresponding {@link java.time.chrono.ChronoLocalDate} value. For
  * example:
  *
- * <pre><code>
- * LocalDate isoDate = datePicker.getValue();
+ * <pre><code>LocalDate isoDate = datePicker.getValue();
  * ChronoLocalDate chronoDate =
  *     ((isoDate != null) ? datePicker.getChronology().date(isoDate) : null);
- * System.err.println("Selected date: " + chronoDate);
- * </code></pre>
- *
+ * System.err.println("Selected date: " + chronoDate);</code></pre>
  *
  * @since JavaFX 8.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Dialog.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -101,12 +101,16 @@
  * on if the {@link DialogPane#createButton(ButtonType)} method has been overridden. A
  * typical approach is therefore along the following lines:
  *
- * <pre>{@code
- *     ButtonType loginButtonType = new ButtonType("Login", ButtonData.OK_DONE);
- *     Dialog<String> dialog = new Dialog<>();
- *     dialog.getDialogPane().getButtonTypes().add(loginButtonType);
- *     boolean disabled = false; // computed based on content of text fields, for example
- *     dialog.getDialogPane().lookupButton(loginButtonType).setDisable(disabled);}</pre>
+ * <pre> {@code ButtonType loginButtonType = new ButtonType("Login", ButtonData.OK_DONE);
+ * Dialog<String> dialog = new Dialog<>();
+ * dialog.setTitle("Login Dialog");
+ * dialog.setContentText("Would you like to log in?");
+ * dialog.getDialogPane().getButtonTypes().add(loginButtonType);
+ * boolean disabled = false; // computed based on content of text fields, for example
+ * dialog.getDialogPane().lookupButton(loginButtonType).setDisable(disabled);
+ * dialog.showAndWait();}</pre>
+ *
+ * <img src="doc-files/Dialog.png" alt="Image of the Dialog control">
  *
  * <p>Once a Dialog is instantiated and fully configured, the next step is to
  * show it. More often than not, dialogs are shown in a modal and blocking
@@ -126,25 +130,22 @@
  * equally valid ways of showing a dialog:
  *
  * <p><strong>Option 1: The 'traditional' approach</strong>
- * <pre>{@code
- * Optional<ButtonType> result = dialog.showAndWait();
+ * <pre> {@code Optional<ButtonType> result = dialog.showAndWait();
  * if (result.isPresent() && result.get() == ButtonType.OK) {
  *     formatSystem();
  * }}</pre>
  *
  * <p><strong>Option 2: The traditional + Optional approach</strong>
- * <pre>{@code
- * dialog.showAndWait().ifPresent(response -> {
+ * <pre> {@code dialog.showAndWait().ifPresent(response -> {
  *     if (response == ButtonType.OK) {
  *         formatSystem();
  *     }
  * });}</pre>
  *
  * <p><strong>Option 3: The fully lambda approach</strong>
- * <pre>{@code
- * dialog.showAndWait()
- *      .filter(response -> response == ButtonType.OK)
- *      .ifPresent(response -> formatSystem());}</pre>
+ * <pre> {@code dialog.showAndWait()
+ *       .filter(response -> response == ButtonType.OK)
+ *       .ifPresent(response -> formatSystem());}</pre>
  *
  * <p>There is no better or worse option of the three listed above, so developers
  * are encouraged to work to their own style preferences. The purpose of showing
@@ -167,7 +168,7 @@
  * prevent the event handling by {@code consuming} the event. Here's a simplified
  * example:
  *
- * <pre>{@code final Button btOk = (Button) dlg.getDialogPane().lookupButton(ButtonType.OK);
+ * <pre> {@code final Button btOk = (Button) dlg.getDialogPane().lookupButton(ButtonType.OK);
  * btOk.addEventFilter(ActionEvent.ACTION, event -> {
  *     if (!validateAndStore()) {
  *         event.consume();
@@ -248,7 +249,7 @@
      *
      **************************************************************************/
 
-    final FXDialog dialog;
+     FXDialog dialog;
 
     private boolean isClosing;
 
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Hyperlink.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Hyperlink.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,6 @@
 
 import javafx.css.StyleableProperty;
 
-
 /**
  * <p>An HTML like label which can be a graphic and/or text which responds to rollovers and clicks.
  * When a hyperlink is clicked/pressed {@link #isVisited} becomes {@code true}.  A Hyperlink behaves
@@ -47,8 +46,11 @@
  * a {@link ActionEvent} is sent, and your application can perform some action based on this event.
  * </p>
  *
- * <p>Example:</p>
- * {@code Hyperlink link = new Hyperlink("www.oracle.com"); }
+ * <p>Example:
+ * <pre><code>Hyperlink link = new Hyperlink("www.oracle.com");</code></pre>
+ *
+ * <img src="doc-files/Hyperlink.png" alt="Image of the Hyperlink control">
+ *
  * @since JavaFX 2.0
  */
 public class Hyperlink extends ButtonBase {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Label.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Label.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,9 @@
  *
  * <p>Example:
  * <pre><code>Label label = new Label("a label");</code></pre>
+ *
+ * <img src="doc-files/Label.png" alt="Image of the Label control">
+ *
  * @since JavaFX 2.0
  */
 public class Label extends Labeled {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ListView.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ListView.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -92,9 +92,7 @@
  * <p>A simple example of how to create and populate a ListView of names (Strings)
  * is shown here:
  *
- * <pre>
- * {@code
- * ObservableList<String> names = FXCollections.observableArrayList(
+ * <pre> {@code ObservableList<String> names = FXCollections.observableArrayList(
  *          "Julia", "Ian", "Sue", "Matthew", "Hannah", "Stephan", "Denise");
  * ListView<String> listView = new ListView<String>(names);}</pre>
  *
@@ -106,20 +104,18 @@
  * ListView constructor is not feasible, the recommended approach for setting
  * the items is to simply call:
  *
- * <pre>
- * {@code
- * ObservableList<T> content = ...
+ * <pre> {@code ObservableList<T> content = ...
  * listView.setItems(content);}</pre>
  *
- * The end result of this is, as noted above, that the ListView will automatically
+ * <img src="doc-files/ListView.png" alt="Image of the ListView control">
+ *
+ * <p>The end result of this is, as noted above, that the ListView will automatically
  * refresh the view to represent the items in the list.
  *
  * <p>Another approach, whilst accepted by the ListView, <b>is not the
  * recommended approach</b>:
  *
- * <pre>
- * {@code
- * List<T> content = ...
+ * <pre> {@code List<T> content = ...
  * getItems().setAll(content);}</pre>
  *
  * The issue with the approach shown above is that the content list is being
@@ -144,9 +140,7 @@
  * multiple selection in a default ListView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code listView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing ListView Visuals</h3>
  * <p>The visuals of the ListView can be entirely customized by replacing the
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Menu.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Menu.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,18 +57,17 @@
  * {@link ContextMenu} should be used in this circumstance.
  * <p>
  * Creating a Menu and inserting it into a MenuBar is easy, as shown below:
- * <pre><code>
- * final Menu menu1 = new Menu("File");
- * MenuBar menuBar = new MenuBar();
- * menuBar.getMenus().add(menu1);
- * </code></pre>
+ * <pre><code> Menu menu1 = new Menu("File");
+ * MenuBar menuBar = new MenuBar(menu1);</code></pre>
+ *
  * <p>
  * A Menu is a subclass of {@link MenuItem} which means that it can be inserted
  * into a Menu's {@link #getItems() items} ObservableList, resulting in a submenu being created:
- * <pre><code>
- * MenuItem menu12 = new MenuItem("Open");
- * menu1.getItems().add(menu12);
- * </code></pre>
+ * <pre><code> MenuItem menu12 = new MenuItem("Open");
+ * menu1.getItems().add(menu12);</code></pre>
+ *
+ * <img src="doc-files/Menu.png" alt="Image of the Menu control">
+ *
  * <p>
  * The items ObservableList allows for any {@link MenuItem} type to be inserted,
  * including its subclasses {@link Menu}, {@link MenuItem}, {@link RadioMenuItem}, {@link CheckMenuItem},
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/MenuBar.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/MenuBar.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -60,14 +60,13 @@
  * To create and populate a {@code MenuBar}, you may do what is shown below.
  * Please refer to the {@link Menu} API page for more information on how to
  * configure it.
- * <pre><code>
- * final Menu menu1 = new Menu("File");
- * final Menu menu2 = new Menu("Options");
- * final Menu menu3 = new Menu("Help");
+ * <pre><code> Menu menu1 = new Menu("File");
+ * Menu menu2 = new Menu("Options");
+ * Menu menu3 = new Menu("Help");
  *
- * MenuBar menuBar = new MenuBar();
- * menuBar.getMenus().addAll(menu1, menu2, menu3);
- * </code></pre>
+ * MenuBar menuBar = new MenuBar(menu1, menu2, menu3);</code></pre>
+ *
+ * <img src="doc-files/MenuBar.png" alt="Image of the MenuBar control">
  *
  * @see Menu
  * @see MenuItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/MenuButton.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/MenuButton.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,10 +63,10 @@
  * MenuButton.
  *
  * <p>Example:</p>
- * <pre>
- * MenuButton m = new MenuButton("Eats");
- * m.getItems().addAll(new MenuItem("Burger"), new MenuItem("Hot Dog"));
- * </pre>
+ * <pre> MenuButton m = new MenuButton("Eats");
+ * m.getItems().addAll(new MenuItem("Burger"), new MenuItem("Hot Dog"));</pre>
+ *
+ * <img src="doc-files/MenuButton.png" alt="Image of the MenuButton control">
  *
  * <p>
  * MnemonicParsing is enabled by default for MenuButton.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/MenuItem.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/MenuItem.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,23 +78,17 @@
  * JavaFX.
  * <p>
  * To create a MenuItem is simple:
-<pre><code>
-MenuItem menuItem = new MenuItem("Open");
-menuItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("Opening Database Connection...");
-    }
-});
-menuItem.setGraphic(new ImageView(new Image("flower.png")));
-</code></pre>
- * <p>
- * Refer to the {@link Menu} page to learn how to insert MenuItem into a menu
- * instance. Briefly however, you can insert the MenuItem from the previous
- * example into a Menu as such:
-<pre><code>
-final Menu menu = new Menu("File");
+<pre><code>MenuItem menuItem = new MenuItem("Open");
+menuItem.setOnAction(e {@literal ->} System.out.println("Opening Database Connection..."));
+Circle graphic = new Circle(8);
+graphic.setFill(Color.GREEN);
+menuItem.setGraphic(graphic);
+
+Menu menu = new Menu("File");
 menu.getItems().add(menuItem);
-</code></pre>
+MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/MenuItem.png" alt="Image of the MenuItem control">
  *
  * @see Menu
  * @since JavaFX 2.0
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Pagination.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Pagination.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -79,23 +79,22 @@
  * <h3>Creating a Pagination control:</h3>
  * <p>
  * A simple example of how to create a pagination control with ten pages and
- * each page containing ten hyperlinks.
+ * each page containing text.
  * </p>
  *
- * <pre>
- * {@code
- *   Pagination pagination = new Pagination(10, 0);
- *   pagination.setPageFactory(new Callback<Integer, Node>() {
- *       public Node call(Integer pageIndex) {
- *           VBox box = new VBox(5);
- *           for (int i = 0; i < pageIndex + 10; i++) {
- *               Hyperlink link = new Hyperlink(myurls[i]);
- *               box.getChildren().add(link);
- *           }
- *           return box;
- *       }
- *   });
- * }</pre>
+ * <pre><code> Pagination pagination = new Pagination(10, 0);
+ * pagination.setPageFactory(new Callback&lt;Integer, Node&gt;() {
+ *     &#064;Override
+ *     public Node call(Integer pageIndex) {
+ *         return new Label(pageIndex+1 + ". Lorem ipsum dolor sit amet,\n"
+ *                      + "consectetur adipiscing elit,\n"
+ *                      + "sed do eiusmod tempor incididunt ut\n"
+ *                      + "labore et dolore magna aliqua.");
+ *     }
+ * });</code></pre>
+ *
+ * <img src="doc-files/Pagination.png" alt="Image of the Pagination control">
+ *
  * @since JavaFX 2.2
  */
 @DefaultProperty("pages")
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,13 @@
 
 /**
  * Text field that masks entered characters.
+ *
+ * <p>Example:
+ * <pre><code> var passwordField = new PasswordField();
+ * passwordField.setText("password123");</code></pre>
+ *
+ * <img src="doc-files/PasswordField.png" alt="Image of the PasswordField control">
+ *
  * @since JavaFX 2.0
  */
 public class PasswordField extends TextField {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressBar.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressBar.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,19 +40,17 @@
  * </p>
  *
  * <p>
- * This first example creates a ProgressBar with an indeterminate value :
- * <pre><code>
- * import javafx.scene.control.ProgressBar;
+ * This first example creates a ProgressBar with an indeterminate value:
+ * <pre><code> ProgressBar p1 = new ProgressBar();</code></pre>
  *
- * ProgressBar p1 = new ProgressBar();
- * </code></pre>
+ * <img src="doc-files/ProgressBar_indeterminate.png" alt="Image of the indeterminate progress ProgressBar control">
+ *
  * <p>
- * This next example creates a ProgressBar which is 25% complete :
- * <pre><code>
- * import javafx.scene.control.ProgressBar;
- * ProgressBar p2 = new ProgressBar();
- * p2.setProgress(0.25F);
- * </code></pre>
+ * This next example creates a ProgressBar which is 25% complete:
+ * <pre><code> ProgressBar p2 = new ProgressBar();
+ * p2.setProgress(0.25F);</code></pre>
+ *
+ * <img src="doc-files/ProgressBar.png" alt="Image of the ProgressBar control">
  *
  * Implementation of ProgressBar According to JavaFX UI Control API Specification
  * @since JavaFX 2.0
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressIndicator.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ProgressIndicator.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,6 @@
 import javafx.scene.AccessibleAttribute;
 import javafx.scene.AccessibleRole;
 
-
 /**
  * A circular control which is used for indicating progress, either
  * infinite (aka indeterminate) or finite. Often used with the Task API for
@@ -48,24 +47,21 @@
  * </p>
  *
  * <p>
- * This first example creates a ProgressIndicator with an indeterminate value :
- * <pre><code>
- * import javafx.scene.control.ProgressIndicator;
- * ProgressIndicator p1 = new ProgressIndicator();
- * </code></pre>
+ * This first example creates a ProgressIndicator with an indeterminate value:
+ * <pre><code> ProgressIndicator p1 = new ProgressIndicator();</code></pre>
+ *
+ * <img src="doc-files/ProgressIndicator_indeterminate.png" alt="Image of the indeterminate progress ProgressIndicator control">
  *
  * <p>
- * This next example creates a ProgressIndicator which is 25% complete :
- * <pre><code>
- * import javafx.scene.control.ProgressIndicator;
- * ProgressIndicator p2 = new ProgressIndicator();
- * p2.setProgress(0.25F);
- * </code></pre>
+ * This next example creates a ProgressIndicator which is 25% complete:
+ * <pre><code> ProgressIndicator p2 = new ProgressIndicator();
+ * p2.setProgress(0.25F);</code></pre>
+ *
+ * <img src="doc-files/ProgressIndicator.png" alt="Image of the ProgressIndicator control">
  *
  * Implementation of ProgressIndicator According to JavaFX UI Control API Specification
  * @since JavaFX 2.0
  */
-
 public class ProgressIndicator extends Control {
 
     /**
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/RadioButton.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/RadioButton.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,16 +50,15 @@
  * will return you the RadioButton that has been selected.
  * </p>
  *
- * <pre>
- * <code>
- *    ToggleGroup group = new ToggleGroup();
- *    RadioButton button1 = new RadioButton("select first");
- *    button1.setToggleGroup(group);
- *    button1.setSelected(true);
- *    RadioButton button2 = new RadioButton("select second");
- *    button2.setToggleGroup(group);
- * </code>
- * </pre>
+ * <pre><code> ToggleGroup group = new ToggleGroup();
+ * RadioButton button1 = new RadioButton("select first");
+ * button1.setToggleGroup(group);
+ * button1.setSelected(true);
+ * RadioButton button2 = new RadioButton("select second");
+ * button2.setToggleGroup(group);</code></pre>
+ *
+ * <img src="doc-files/RadioButton.png" alt="Image of the RadioButton control">
+ *
  * @since JavaFX 2.0
  */
  public class RadioButton extends ToggleButton {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/RadioMenuItem.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/RadioMenuItem.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,15 +43,11 @@
  * API documentation for more information on how to add a RadioMenuItem into it.
  * <p>
  * To create a simple, ungrouped RadioMenuItem, do the following:
-<pre><code>
-RadioMenuItem radioItem = new RadioMenuItem("radio text");
+ *
+<pre><code>RadioMenuItem radioItem = new RadioMenuItem("radio text");
 radioItem.setSelected(false);
-radioItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("radio toggled");
-    }
-});
-</code></pre>
+radioItem.setOnAction(e {@literal ->} System.out.println("radio toggled"));</code></pre>
+ *
  * <p>
  * The problem with the example above is that this offers no benefit over using
  * a normal MenuItem. As already mentioned, the purpose of a
@@ -62,26 +58,24 @@
  * in groups, only one RadioMenuItem at a time within that group can be selected.
  * To put two RadioMenuItem instances into the same group, simply assign them
  * both the same value for {@code toggleGroup}. For example:
-<pre><code>
-ToggleGroup toggleGroup = new ToggleGroup();
+ *
+<pre><code>ToggleGroup toggleGroup = new ToggleGroup();
 
 RadioMenuItem radioItem1 = new RadioMenuItem("Option 1");
-radioItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("radio toggled");
-    }
-});
+radioItem1.setOnAction(e {@literal ->} System.out.println("radio1 toggled"));
 radioItem1.setToggleGroup(toggleGroup);
+
 RadioMenuItem radioItem2 = new RadioMenuItem("Option 2");
-radioItem.setOnAction(new EventHandler&lt;ActionEvent&gt;() {
-    &#064;Override public void handle(ActionEvent e) {
-        System.out.println("radio toggled");
-    }
-});
+radioItem2.setOnAction(e {@literal ->} System.out.println("radio2 toggled"));
 radioItem2.setToggleGroup(toggleGroup);
 
-</code></pre>
+Menu menu = new Menu("Selection");
+menu.getItems().addAll(radioItem1, radioItem2);
+MenuBar menuBar = new MenuBar(menu);</code></pre>
  *
+ * <img src="doc-files/RadioMenuItem.png" alt="Image of the RadioMenuItem control">
+ *
+ * <p>
  * In this example, with both RadioMenuItem's assigned to the same
  * {@link javafx.scene.control.ToggleGroup ToggleGroup}, only one item may be
  * selected at any one time, and should
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollBar.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollBar.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,7 +50,6 @@
 import java.util.Collections;
 import java.util.List;
 
-
 /**
  * Either a horizontal or vertical bar with increment and decrement buttons and
  * a "thumb" with which the user can interact. Typically not used alone but used
@@ -60,18 +59,15 @@
  * </p>
  *
  * <p>
- * This example creates a vertical ScrollBar :
- * <pre><code>
- * import javafx.scene.control.ScrollBar;
+ * This example creates a vertical ScrollBar:
+ * <pre><code> ScrollBar s1 = new ScrollBar();
+ * s1.setOrientation(Orientation.VERTICAL);</code></pre>
  *
- * ScrollBar s1 = new ScrollBar();
- * s1.setOrientation(Orientation.VERTICAL);
- * </code></pre>
+ * <p><img src="doc-files/ScrollBar.png" alt="Image of the ScrollBar control"></p>
  *
  * Implementation of ScrollBar According to JavaFX UI Control API Specification
  * @since JavaFX 2.0
  */
-
 public class ScrollBar extends Control {
 
     /***************************************************************************
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollPane.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ScrollPane.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -76,16 +76,13 @@
  * </p>
  *
  * <p>
- * This example creates a ScrollPane, which contains a Rectangle :
- * <pre><code>
- * import javafx.scene.control.ScrollPane;
- * import javafx.scene.shape.Rectangle;
- *
- * Rectangle rect = new Rectangle(200, 200, Color.RED);
+ * This example creates a ScrollPane, which contains a Rectangle:
+ * <pre><code> Rectangle rect = new Rectangle(200, 200, Color.RED);
  * ScrollPane s1 = new ScrollPane();
  * s1.setPrefSize(120, 120);
- * s1.setContent(rect);
- * </code></pre>
+ * s1.setContent(rect);</code></pre>
+ *
+ * <img src="doc-files/ScrollPane.png" alt="Image of the ScrollPane control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Separator.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Separator.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@
 
 import javafx.css.converter.EnumConverter;
 import javafx.scene.control.skin.SeparatorSkin;
-
+import javafx.scene.layout.VBox;
 import javafx.css.Styleable;
 import javafx.css.StyleableProperty;
 
@@ -66,6 +66,18 @@
  * <p>
  * Separator sets focusTraversable to false.
  * </p>
+ *
+ * <p>
+ * Example:
+ * <pre><code> Button b0 = new Button("Button 0");
+ * Button b1 = new Button("Button 1");
+ * Button b2 = new Button("Button 2");
+ * Button b3 = new Button("Button 3");
+ * Separator separator = new Separator(Orientation.HORIZONTAL);
+ * VBox vBox = new VBox(b0, b1, separator, b2, b3);</code></pre>
+ *
+ * <img src="doc-files/Separator.png" alt="Image of the Separator control">
+ *
  * @since JavaFX 2.0
  */
 public class Separator extends Control {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/SeparatorMenuItem.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/SeparatorMenuItem.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,9 +39,15 @@
  * by a separator. Instead of a creating a {@link CustomMenuItem}  for this purpose, the user
  * can use this class as indicated below.
  *
-<pre><code>
-SeparatorMenuItem separatorMenuItem = new SeparatorMenuItem();
-</code></pre>
+<pre><code>MenuItem item1 = new MenuItem("Item1");
+MenuItem item2 = new MenuItem("Item2");
+SeparatorMenuItem separator = new SeparatorMenuItem();
+
+Menu menu = new Menu("Items");
+menu.getItems().addAll(item1, separator, item2);
+MenuBar menuBar = new MenuBar(menu);</code></pre>
+ *
+ * <img src="doc-files/SeparatorMenuItem.png" alt="Image of the SeparatorMenuItem control">
  *
  * @see CustomMenuItem
  * @see MenuItem
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Slider.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Slider.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,25 +78,20 @@
  * This first example creates a slider whose range, or span, goes from 0 to 1,
  * and whose value defaults to .5:
  *
- * <pre>
- * import javafx.scene.control.Slider;
- *
- * Slider slider = new Slider(0, 1, 0.5);
- * </pre>
+ * <pre> Slider slider = new Slider(0, 1, 0.5);</pre>
  *
  * <p>
  * This next example shows a slider with customized tick marks and tick mark
  * labels, which also spans from 0 to 1:
  *
- * <pre>
- * import javafx.scene.control.Slider;
- *
- * Slider slider = new Slider(0, 1, 0.5);
+ * <pre> Slider slider = new Slider(0, 1, 0.5);
  * slider.setShowTickMarks(true);
  * slider.setShowTickLabels(true);
  * slider.setMajorTickUnit(0.25f);
- * slider.setBlockIncrement(0.1f);
- * </pre>
+ * slider.setBlockIncrement(0.1f);</pre>
+ *
+ * <img src="doc-files/Slider.png" alt="Image of the Slider control">
+ *
  * @since JavaFX 2.0
  */
 public class Slider extends Control {
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Spinner.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Spinner.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,6 +98,11 @@
  * To make sure the model has the same value as the editor, the user must commit
  * the edit using the Enter key.
  *
+ * <p>Example:
+ * <pre>Spinner spinner = new Spinner(0, 10, 5);</pre>
+ *
+ * <img src="doc-files/Spinner.png" alt="Image of the Spinner control">
+ *
  * @see SpinnerValueFactory
  * @param <T> The type of all values that can be iterated through in the Spinner.
  *            Common types include Integer and String.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/SplitMenuButton.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/SplitMenuButton.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,18 +48,12 @@
  * selected in the menu to be the action should the action region be clicked.
  *
  * <p>Example:</p>
- * <pre>
- * {@literal
- * SplitMenuButton m = new SplitMenuButton();
+ * <pre><code> SplitMenuButton m = new SplitMenuButton();
  * m.setText("Shutdown");
  * m.getItems().addAll(new MenuItem("Logout"), new MenuItem("Sleep"));
- * m.setOnAction(new EventHandler<ActionEvent>() {
- *     &#064;Override public void handle(ActionEvent e) {
- *         System.out.println("Shutdown");
- *     }
- * });
- * }
- * </pre>
+ * m.setOnAction(e {@literal ->} System.out.println("Shutdown"));</code></pre>
+ *
+ * <img src="doc-files/SplitMenuButton.png" alt="Image of the SplitMenuButton control">
  *
  * <p>
  * MnemonicParsing is enabled by default for SplitMenuButton.
@@ -69,7 +63,6 @@
  * @see Menu
  * @since JavaFX 2.0
  */
-
 public class SplitMenuButton extends MenuButton {
 
     /***************************************************************************
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/SplitPane.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/SplitPane.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -107,17 +107,17 @@
  * </p>
  *
  * <p>Example:</p>
- * <pre><code>
- * SplitPane sp = new SplitPane();
+ * <pre><code> SplitPane sp = new SplitPane();
  * final StackPane sp1 = new StackPane();
- * sp1.getItems().add(new Button("Button One"));
+ * sp1.getChildren().add(new Button("Button One"));
  * final StackPane sp2 = new StackPane();
- * sp2.getItems().add(new Button("Button Two"));
+ * sp2.getChildren().add(new Button("Button Two"));
  * final StackPane sp3 = new StackPane();
- * sp3.getItems().add(new Button("Button Three"));
+ * sp3.getChildren().add(new Button("Button Three"));
  * sp.getItems().addAll(sp1, sp2, sp3);
- * sp.setDividerPositions(0.3f, 0.6f, 0.9f);
- * </code></pre>
+ * sp.setDividerPositions(0.3f, 0.6f, 0.9f);</code></pre>
+ *
+ * <img src="doc-files/SplitPane.png" alt="Image of the SplitPane control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TabPane.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TabPane.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,13 +77,13 @@
  * </p>
  *
  * <p>Example:</p>
- * <pre><code>
- * TabPane tabPane = new TabPane();
+ * <pre><code> TabPane tabPane = new TabPane();
  * Tab tab = new Tab();
  * tab.setText("new tab");
- * tab.setContent(new Rectangle(200,200, Color.LIGHTSTEELBLUE));
- * tabPane.getTabs().add(tab);
- * </code></pre>
+ * tab.setContent(new Rectangle(100, 50, Color.LIGHTSTEELBLUE));
+ * tabPane.getTabs().add(tab);</code></pre>
+ *
+ * <img src="doc-files/TabPane.png" alt="Image of the TabPane control">
  *
  * @see Tab
  * @since JavaFX 2.0
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TableView.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TableView.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,7 @@
 import com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList;
 import com.sun.javafx.scene.control.behavior.TableCellBehavior;
 import com.sun.javafx.scene.control.behavior.TableCellBehaviorBase;
+
 import javafx.beans.*;
 import javafx.beans.Observable;
 import javafx.beans.property.BooleanProperty;
@@ -123,9 +124,7 @@
  * TableView. The {@code Person} class will consist of a first
  * name and last name properties. That is:
  *
- * <pre>
- * {@code
- * public class Person {
+ * <pre> {@code public class Person {
  *     private StringProperty firstName;
  *     public void setFirstName(String value) { firstNameProperty().set(value); }
  *     public String getFirstName() { return firstNameProperty().get(); }
@@ -141,27 +140,36 @@
  *         if (lastName == null) lastName = new SimpleStringProperty(this, "lastName");
  *         return lastName;
  *     }
+ *
+ *     public Person(String firstName, String lastName) {
+ *         setFirstName(firstName);
+ *         setLastName(lastName);
+ *     }
  * }}</pre>
  *
- * <p>Firstly, a TableView instance needs to be defined, as such:
+ * <p>The data we will use for this example is:
  *
- * <pre>
- * {@code
- * TableView<Person> table = new TableView<>();}</pre>
+ * <pre> {@code List<Person> members = List.of(
+ *     new Person("William", "Reed"),
+ *     new Person("James", "Michaelson"),
+ *     new Person("Julius", "Dean"));}</pre>
  *
- * <p>With the basic table defined, we next focus on the data model. As mentioned,
- * for this example, we'll be using an {@literal ObservableList<Person>}. We can immediately
- * set such a list directly in to the TableView, as such:
+ * <p>Firstly, we need to create a data model. As mentioned,
+ * for this example, we'll be using an {@literal ObservableList<Person>}:
  *
- * <pre>
- * {@code
- * ObservableList<Person> teamMembers = getTeamMembers();
+ * <pre> {@code ObservableList<Person> teamMembers = FXCollections.observableArrayList(members);}</pre>
+ *
+ * <p>Then we create a TableView instance:
+ *
+ * <pre> {@code TableView<Person> table = new TableView<>();
  * table.setItems(teamMembers);}</pre>
  *
  * <p>With the items set as such, TableView will automatically update whenever
  * the <code>teamMembers</code> list changes. If the items list is available
  * before the TableView is instantiated, it is possible to pass it directly into
- * the constructor.
+ * the constructor:
+ *
+ * <pre> {@code TableView<Person> table = new TableView<>(teamMembers);}</pre>
  *
  * <p>At this point we now have a TableView hooked up to observe the
  * <code>teamMembers</code> observableList. The missing ingredient
@@ -170,21 +178,18 @@
  * create a two-column TableView to show the firstName and lastName properties,
  * we extend the last code sample as follows:
  *
- * <pre>
- * {@code
- * ObservableList<Person> teamMembers = ...;
- * table.setItems(teamMembers);
- *
- * TableColumn<Person,String> firstNameCol = new TableColumn<>("First Name");
- * firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
- * TableColumn<Person,String> lastNameCol = new TableColumn<>("Last Name");
- * lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
+ * <pre> {@code TableColumn<Person, String> firstNameCol = new TableColumn<>("First Name");
+ * firstNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).firstNameProperty().getName())));
+ * TableColumn<Person, String> lastNameCol = new TableColumn<>("Last Name");
+ * lastNameCol.setCellValueFactory(new PropertyValueFactory<>(members.get(0).lastNameProperty().getName())));
  *
  * table.getColumns().setAll(firstNameCol, lastNameCol);}</pre>
  *
+ * <img src="doc-files/TableView.png" alt="Image of the TableView control">
+ *
  * <p>With the code shown above we have fully defined the minimum properties
- * required to create a TableView instance. Running this code (assuming the
- * people ObservableList is appropriately created) will result in a TableView being
+ * required to create a TableView instance. Running this code  will result in the
+ * TableView being
  * shown with two columns for firstName and lastName. Any other properties of the
  * Person class will not be shown, as no TableColumns are defined.
  *
@@ -199,9 +204,7 @@
  * about cell value factories can be found in the {@link TableColumn} API
  * documentation, but briefly, here is how a TableColumn could be specified:
  *
- * <pre>
- * {@code
- * firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
+ * <pre> {@code firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
  *     public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
  *         // p.getValue() returns the Person instance for a particular TableView row
  *         return p.getValue().firstNameProperty();
@@ -209,8 +212,7 @@
  * });
  *
  * // or with a lambda expression:
- * firstNameCol.setCellValueFactory(p -> p.getValue().firstNameProperty());
- * }</pre>
+ * firstNameCol.setCellValueFactory(p -> p.getValue().firstNameProperty());}</pre>
  *
  * <h3>TableView Selection / Focus APIs</h3>
  * <p>To track selection and focus, it is necessary to become familiar with the
@@ -230,9 +232,7 @@
  * multiple selection in a default TableView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing TableView Visuals</h3>
  * <p>The visuals of the TableView can be entirely customized by replacing the
@@ -274,9 +274,7 @@
  * property to the TableView {@link #comparatorProperty() comparator} property,
  * list so:</p>
  *
- * <pre>
- * {@code
- * // create a SortedList based on the provided ObservableList
+ * <pre> {@code // create a SortedList based on the provided ObservableList
  * SortedList sortedList = new SortedList(FXCollections.observableArrayList(2, 1, 3));
  *
  * // create a TableView with the sorted list set as the items it will show
@@ -285,8 +283,7 @@
  * // bind the sortedList comparator to the TableView comparator
  * sortedList.comparatorProperty().bind(tableView.comparatorProperty());
  *
- * // Don't forget to define columns!
- * }</pre>
+ * // Don't forget to define columns!}</pre>
  *
  * <h3>Editing</h3>
  * <p>This control supports inline editing of values, and this section attempts to
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TextArea.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TextArea.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,6 +69,17 @@
  * way of informing the user as to what is expected in the text area, without
  * having to resort to {@link Tooltip tooltips} or on-screen {@link Label labels}.
  *
+ * <p>Example:
+ * <pre><code> var textArea = new TextArea("Lorem ipsum dolor sit amet, consectetur adipiscing elit, "
+ *        + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim "
+ *        + "ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip "
+ *        + "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate "
+ *        + "velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat "
+ *        + "cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.");
+ * textArea.setWrapText(true);</code></pre>
+ *
+ * <img src="doc-files/TextArea.png" alt="Image of the TextArea control">
+ *
  * @see TextField
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TextField.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TextField.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,7 +51,6 @@
 
 import javafx.css.Styleable;
 
-
 /**
  * Text input component that allows a user to enter a single line of
  * unformatted text. Unlike in previous releases of JavaFX, support for multi-line
@@ -66,6 +65,11 @@
  * way of informing the user as to what is expected in the text field, without
  * having to resort to {@link Tooltip tooltips} or on-screen {@link Label labels}.
  *
+ * <p>Example:
+ * <pre> var textField = new TextField("Hello World!");</pre>
+ *
+ * <img src="doc-files/TextField.png" alt="Image of the TextField control">
+ *
  * @see TextArea
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TitledPane.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TitledPane.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -68,9 +68,9 @@
  * results you are after.</p>
  *
  * <p>Example:</p>
- * <pre><code>
- *  TitledPane t1 = new TitledPane("T1", new Button("B1"));
- * </code></pre>
+ * <pre><code> TitledPane t1 = new TitledPane("T1", new Button("B1"));</code></pre>
+ *
+ * <img src="doc-files/TitledPane.png" alt="Image of the TitledPane control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ToggleButton.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ToggleButton.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,15 +69,15 @@
  * </p>
  *
  * <p>Example:</p>
- * <pre><code>
- * ToggleButton tb1 = new ToggleButton("toggle button 1");
+ * <pre><code> ToggleButton tb1 = new ToggleButton("toggle button 1");
  * ToggleButton tb2 = new ToggleButton("toggle button 2");
  * ToggleButton tb3 = new ToggleButton("toggle button 3");
  * ToggleGroup group = new ToggleGroup();
  * tb1.setToggleGroup(group);
  * tb2.setToggleGroup(group);
- * tb3.setToggleGroup(group);
- * </code></pre>
+ * tb3.setToggleGroup(group);</code></pre>
+ *
+ * <img src="doc-files/ToggleButton.png" alt="Image of the ToggleButton control">
  *
  * <p>
  * MnemonicParsing is enabled by default for ToggleButton.
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/ToolBar.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/ToolBar.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,20 +66,20 @@
  * <p>
  * Example of a horizontal ToolBar with eight buttons separated with two vertical separators.
  * </p>
- * <pre><code>
- * ToolBar toolBar = new ToolBar(
+ * <pre><code> ToolBar toolBar = new ToolBar(
  *     new Button("New"),
  *     new Button("Open"),
  *     new Button("Save"),
- *     new Separator(true),
+ *     new Separator(),
  *     new Button("Clean"),
  *     new Button("Compile"),
  *     new Button("Run"),
- *     new Separator(true),
+ *     new Separator(),
  *     new Button("Debug"),
  *     new Button("Profile")
- * );
- * </code></pre>
+ * );</code></pre>
+ *
+ * <img src="doc-files/ToolBar.png" alt="Image of the ToolBar control">
  *
  * @since JavaFX 2.0
  */
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/Tooltip.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/Tooltip.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
 
 package javafx.scene.control;
 
-
 import com.sun.javafx.beans.IDProperty;
 import com.sun.javafx.css.StyleManager;
 import com.sun.javafx.scene.NodeHelper;
@@ -71,7 +70,6 @@
 import javafx.stage.Window;
 import javafx.util.Duration;
 
-
 /**
  * Tooltips are common UI elements which are typically used for showing
  * additional information about a Node in the scenegraph when the Node is
@@ -84,11 +82,9 @@
  *
  * <p>You use the following approach to set a Tooltip on any node:
  *
- * <pre>
- * Rectangle rect = new Rectangle(0, 0, 100, 100);
+ * <pre> Rectangle rect = new Rectangle(0, 0, 100, 100);
  * Tooltip t = new Tooltip("A Square");
- * Tooltip.install(rect, t);
- * </pre>
+ * Tooltip.install(rect, t);</pre>
  *
  * This tooltip will then participate with the typical tooltip semantics (i.e.
  * appearing on hover, etc). Note that the Tooltip does not have to be
@@ -102,13 +98,11 @@
  * for all controls to make installing a Tooltip less verbose. The example below
  * shows how to create a tooltip for a Button control:
  *
- * <pre>
- * import javafx.scene.control.Tooltip;
- * import javafx.scene.control.Button;
+ * <pre> Button button = new Button("Hover Over Me");
+ * button.setTooltip(new Tooltip("Tooltip for Button"));</pre>
  *
- * Button button = new Button("Hover Over Me");
- * button.setTooltip(new Tooltip("Tooltip for Button"));
- * </pre>
+ * <img src="doc-files/Tooltip.png" alt="Image of the Tooltip control">
+ *
  * @since JavaFX 2.0
  */
 @IDProperty("id")
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableView.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableView.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 import com.sun.javafx.scene.control.behavior.TableCellBehavior;
 import com.sun.javafx.scene.control.behavior.TableCellBehaviorBase;
 import com.sun.javafx.scene.control.behavior.TreeTableCellBehavior;
+
 import javafx.beans.property.DoubleProperty;
 import javafx.css.CssMetaData;
 import javafx.css.PseudoClass;
@@ -137,8 +138,7 @@
  * the TreeTableView to visualise a file system, and will therefore make use
  * of an imaginary (and vastly simplified) File class as defined below:
  *
- * <pre>{@code
- * public class File {
+ * <pre> {@code public class File {
  *     private StringProperty name;
  *     public void setName(String value) { nameProperty().set(value); }
  *     public String getName() { return nameProperty().get(); }
@@ -154,36 +154,46 @@
  *         if (lastModified == null) lastModified = new SimpleLongProperty(this, "lastModified");
  *         return lastModified;
  *     }
+ *
+ *     public File(String name, long size) {
+ *         setName(name);
+ *         setSize(size);
+ *     }
  * }}</pre>
  *
- * <p>Firstly, a TreeTableView instance needs to be defined, as such:
+ * <p>The data we will use for this example is a single root with 3 files:
  *
- * <pre>{@code
- * TreeTableView<File> treeTable = new TreeTableView<>();}</pre>
+ * <pre> {@code File rootFile = new File("Images", 900);
+ * List<File> files = List.of(
+ *     new File("Cat.png", 300),
+ *     new File("Dog.png", 500),
+ *     new File("Bird.png", 100));}</pre>
  *
- * <p>With the basic TreeTableView instantiated, we next focus on the data model.
- * As mentioned, for this example, we'll be representing a file system using File
- * instances. To do this, we need to define the root node of the tree table, as such:
+ * <p>Firstly, we need to create a data model. As mentioned, for this example,
+ * we'll be representing a file system using File instances. To do this, we need
+ * to define the root node of the tree table and its hierarchy:
  *
- * <pre>{@code
- * TreeItem<File> root = new TreeItem<>(new File("/"));
- * treeTable.setRoot(root);}</pre>
+ * <pre> {@code TreeItem<File> root = new TreeItem<>(rootFile);
+ * files.forEach(file -> root.getChildren().add(new TreeItem<>(file)));}</pre>
+ *
+ * <p> Then we create a TreeTableView instance:
+ *
+ * <pre> {@code TreeTableView<File> treeTable = new TreeTableView<>(root);}</pre>
  *
  * <p>With the root set as such, the TreeTableView will automatically update whenever
- * the {@link TreeItem#getChildren() children} of the root changes.
+ * the {@link TreeItem#getChildren() children} of the root change.
  *
- * <p>At this point we now have a TreeTableView hooked up to observe the root
+ * <p>At this point we have a TreeTableView hooked up to observe the root
  * TreeItem instance. The missing ingredient
  * now is the means of splitting out the data contained within the model and
  * representing it in one or more {@link TreeTableColumn} instances. To
- * create a two-column TreeTableView to show the file name and last modified
- * properties, we extend the code shown above as follows:
+ * create a two-column TreeTableView to show the file name and size
+ * properties, we write:
  *
- * <pre>{@code
- * TreeTableColumns<File,String> fileNameCol = new TreeTableColumn<>("Filename");
- * TreeTableColumns<File,Long> lastModifiedCol = new TreeTableColumn<>("Size");
+ * <pre> {@code TreeTableColumns<File, String> fileNameCol = new TreeTableColumn<>("Filename");
+ * TreeTableColumns<File, Long> sizeCol = new TreeTableColumn<>("Size");
  *
- * table.getColumns().setAll(fileNameCol, lastModifiedCol);}</pre>
+ * treeTable.getColumns().setAll(fileNameCol, sizeCol);}</pre>
  *
  * <p>With the code shown above we have nearly fully defined the minimum properties
  * required to create a TreeTableView instance. The only thing missing is the
@@ -195,14 +205,14 @@
  * necessary. For example, using {@link javafx.scene.control.cell.TreeItemPropertyValueFactory}
  * you would do the following:
  *
- * <pre>{@code
- * fileNameCol.setCellValueFactory(new TreeItemPropertyValueFactory("name"));
- * lastModifiedCol.setCellValueFactory(new TreeItemPropertyValueFactory("lastModified"));}</pre>
+ * <pre> {@code fileNameCol.setCellValueFactory(new TreeItemPropertyValueFactory(rootFile.nameProperty().getName()));
+ * sizeCol.setCellValueFactory(new TreeItemPropertyValueFactory(rootFile.sizeProperty().getName()));}</pre>
  *
- * Running this code (assuming the file system structure is probably built up in
- * memory) will result in a TreeTableView being shown with two columns for name
- * and lastModified. Any other properties of the File class will not be shown, as
- * no TreeTableColumns are defined for them.
+ * <img src="doc-files/TreeTableView.png" alt="Image of the TreeTableView control">
+ *
+ * <p>Running this code will result in a TreeTableView as shown above with two columns
+ * for name and size. Any other properties the File class might have will not be shown,
+ * as no TreeTableColumns are defined for them.
  *
  * <h3>TreeTableView support for classes that don't contain properties</h3>
  *
@@ -215,15 +225,16 @@
  * about cell value factories can be found in the {@link TreeTableColumn} API
  * documentation, but briefly, here is how a TreeTableColumns could be specified:
  *
- * <pre>{@code
- * firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
+ * <pre> {@code firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
  *     public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
  *         // p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
  *         // p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
  *         return p.getValue().getValue().firstNameProperty();
  *     }
- *  });
- * }}</pre>
+ * });
+ *
+ * // or with a lambda expression:
+ * firstNameCol.setCellValueFactory(p -> p.getValue().getValue().firstNameProperty());}</pre>
  *
  * <h3>TreeTableView Selection / Focus APIs</h3>
  * <p>To track selection and focus, it is necessary to become familiar with the
@@ -243,9 +254,7 @@
  * multiple selection in a default TreeTableView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code treeTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing TreeTableView Visuals</h3>
  * <p>The visuals of the TreeTableView can be entirely customized by replacing the
--- a/modules/javafx.controls/src/main/java/javafx/scene/control/TreeView.java	Thu Jan 24 14:18:14 2019 +0100
+++ b/modules/javafx.controls/src/main/java/javafx/scene/control/TreeView.java	Tue Jan 29 14:19:17 2019 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -80,16 +80,17 @@
  * For more information on building up a tree using this approach, refer to the
  * {@link TreeItem} class documentation. Briefly however, to create a TreeView,
  * you should do something along the lines of the following:
- * <pre><code>
- * TreeItem&lt;String&gt; root = new TreeItem&lt;String&gt;("Root Node");
+ *
+ * <pre><code> TreeItem&lt;String&gt; root = new TreeItem&lt;&gt;("Root Node");
  * root.setExpanded(true);
  * root.getChildren().addAll(
- *     new TreeItem&lt;String&gt;("Item 1"),
- *     new TreeItem&lt;String&gt;("Item 2"),
- *     new TreeItem&lt;String&gt;("Item 3")
+ *     new TreeItem&lt;&gt;("Item 1"),
+ *     new TreeItem&lt;&gt;("Item 2"),
+ *     new TreeItem&lt;&gt;("Item 3")
  * );
- * TreeView&lt;String&gt; treeView = new TreeView&lt;String&gt;(root);
- * </code></pre>
+ * TreeView&lt;String&gt; treeView = new TreeView&lt;&gt;(root);</code></pre>
+ *
+ * <img src="doc-files/TreeView.png" alt="Image of the TreeView control">
  *
  * <p>
  * A TreeView may be configured to optionally hide the root node by setting the
@@ -116,9 +117,7 @@
  * multiple selection in a default TreeView instance, it is therefore necessary
  * to do the following:
  *
- * <pre>
- * {@code
- * treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
+ * <pre> {@code treeView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);}</pre>
  *
  * <h3>Customizing TreeView Visuals</h3>
  * <p>The visuals of the TreeView can be entirely customized by replacing the