Index: DefaultToolsSwingManager.java
===================================================================
--- DefaultToolsSwingManager.java	(revision 2164)
+++ DefaultToolsSwingManager.java	(revision 2165)
@@ -10,7 +10,6 @@
 import java.awt.image.BufferedImage;
 import java.awt.image.WritableRaster;
 import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
 import java.io.File;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -30,7 +29,6 @@
 import javax.swing.JScrollPane;
 import javax.swing.JSlider;
 import javax.swing.JTabbedPane;
-import javax.swing.JTextField;
 import javax.swing.JTree;
 import javax.swing.JViewport;
 import javax.swing.border.TitledBorder;
@@ -150,17 +148,17 @@
     }
 
     @Override
-    public ColorChooserController createColorChooserController(JTextField txtLabel, JButton btnShowDialog, JSlider sldAlpha, boolean allowNull) {
+    public ColorChooserController createColorChooserController(JTextComponent txtLabel, JButton btnShowDialog, JSlider sldAlpha, boolean allowNull) {
         return new DefaultColorChooserController(txtLabel, btnShowDialog, sldAlpha, allowNull);
     }
 
     @Override
-    public ColorChooserController createColorChooserController(JTextField txtLabel, JButton btnShowDialog) {
+    public ColorChooserController createColorChooserController(JTextComponent txtLabel, JButton btnShowDialog) {
         return new DefaultColorChooserController(txtLabel, btnShowDialog);
     }
 
     @Override
-    public ColorChooserController createColorChooserController(JTextField txtLabel, JButton btnShowDialog, JSlider sldAlpha) {
+    public ColorChooserController createColorChooserController(JTextComponent txtLabel, JButton btnShowDialog, JSlider sldAlpha) {
         return new DefaultColorChooserController(txtLabel, btnShowDialog, sldAlpha);
     }
 
@@ -339,22 +337,19 @@
             menuCut.setEnabled(false);
             menuPaste.setEnabled(false);
         }
-        component.addPropertyChangeListener(new PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (evt == null) {
-                    return;
-                }
-                if (evt.getPropertyName().equalsIgnoreCase("enabled")) {
-                    boolean enabled = component.isEnabled();
-                    menuCut.setEnabled(enabled);
-                    menuPaste.setEnabled(enabled);
-                } else if (evt.getPropertyName().equalsIgnoreCase("editable")) {
-                    boolean editable = component.isEditable();
-                    menuCut.setEnabled(editable);
-                    menuPaste.setEnabled(editable);
-                }
-            }
+        component.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+          if (evt == null) {
+            return;
+          }
+          if (evt.getPropertyName().equalsIgnoreCase("enabled")) {
+            boolean enabled = component.isEnabled();
+            menuCut.setEnabled(enabled);
+            menuPaste.setEnabled(enabled);
+          } else if (evt.getPropertyName().equalsIgnoreCase("editable")) {
+            boolean editable = component.isEditable();
+            menuCut.setEnabled(editable);
+            menuPaste.setEnabled(editable);
+          }
         });
         component.setComponentPopupMenu(popupMenu);
     }
@@ -376,62 +371,62 @@
     }
 
     @Override
-    public ColorPickerController createColorPickerController(JTextField txtLabel, JButton btnShowDialog, JSlider sldAlpha, boolean allowNull) {
+    public ColorPickerController createColorPickerController(JTextComponent txtLabel, JButton btnShowDialog, JSlider sldAlpha, boolean allowNull) {
         return new ColorPickerControllerImpl(txtLabel, btnShowDialog, sldAlpha, allowNull);
     }
 
     @Override
-    public ColorPickerController createColorPickerController(JTextField txtLabel, JButton btnShowDialog) {
+    public ColorPickerController createColorPickerController(JTextComponent txtLabel, JButton btnShowDialog) {
         return new ColorPickerControllerImpl(txtLabel, btnShowDialog);
     }
 
     @Override
-    public ColorPickerController createColorPickerController(JTextField txtLabel, JButton btnShowDialog, JSlider sldAlpha) {
+    public ColorPickerController createColorPickerController(JTextComponent txtLabel, JButton btnShowDialog, JSlider sldAlpha) {
         return new ColorPickerControllerImpl(txtLabel, btnShowDialog, sldAlpha);
     }
 
     @Override
-    public DatePickerController createDatePickerController(JTextField txtDate, JButton btnDate) {
+    public DatePickerController createDatePickerController(JTextComponent txtDate, JButton btnDate) {
         return new DatePickerControllerImpl(txtDate, btnDate);
     }
 
     @Override
-    public FilePickerController createFilePickerController(JTextField txtFile, JButton btnFile, String dialogTitle, String fileChooserID, File initialPath, boolean seticon) {
+    public FilePickerController createFilePickerController(JTextComponent txtFile, JButton btnFile, String dialogTitle, String fileChooserID, File initialPath, boolean seticon) {
         return new FilePickerControllerImpl(txtFile, btnFile, dialogTitle, fileChooserID, initialPath, seticon);
     }
 
     @Override
-    public FilePickerController createFilePickerController(JTextField txtFile, JButton btnFile) {
+    public FilePickerController createFilePickerController(JTextComponent txtFile, JButton btnFile) {
         return new FilePickerControllerImpl(txtFile, btnFile);
     }
 
     @Override
-    public PickerController<byte[]> createByteArrayPickerController(JTextField txtText, JButton btnUpload, JButton btnDownload, String fileChooserID, File initialPath) {
+    public PickerController<byte[]> createByteArrayPickerController(JTextComponent txtText, JButton btnUpload, JButton btnDownload, String fileChooserID, File initialPath) {
         return new BytearrayPickerControllerImpl(txtText, btnUpload, btnDownload, fileChooserID, initialPath);
     }
 
     @Override
-    public PickerController<byte[]> createByteArrayPickerController(JTextField txtText, JButton btnUpload, JButton btnDownload) {
+    public PickerController<byte[]> createByteArrayPickerController(JTextComponent txtText, JButton btnUpload, JButton btnDownload) {
         return new BytearrayPickerControllerImpl(txtText, btnUpload, btnDownload, null, null);
     }
 
     @Override
-    public FilePickerController createFilePickerController(JTextField txtFile, JButton btnFile, String dialogTitle) {
+    public FilePickerController createFilePickerController(JTextComponent txtFile, JButton btnFile, String dialogTitle) {
         return new FilePickerControllerImpl(txtFile, btnFile, dialogTitle);
     }
 
     @Override
-    public FolderPickerController createFolderPickerController(JTextField txtFile, JButton btnFile, String dialogTitle, String fileChooserID, File initialPath, boolean seticon) {
+    public FolderPickerController createFolderPickerController(JTextComponent txtFile, JButton btnFile, String dialogTitle, String fileChooserID, File initialPath, boolean seticon) {
         return new FolderPickerControllerImpl(txtFile, btnFile, dialogTitle, fileChooserID, initialPath, seticon);
     }
 
     @Override
-    public FolderPickerController createFolderPickerController(JTextField txtFile, JButton btnFile) {
+    public FolderPickerController createFolderPickerController(JTextComponent txtFile, JButton btnFile) {
         return new FolderPickerControllerImpl(txtFile, btnFile);
     }
 
     @Override
-    public FolderPickerController createFolderPickerController(JTextField txtFile, JButton btnFile, String dialogTitle) {
+    public FolderPickerController createFolderPickerController(JTextComponent txtFile, JButton btnFile, String dialogTitle) {
         return new FolderPickerControllerImpl(txtFile, btnFile, dialogTitle);
     }
 
@@ -483,31 +478,25 @@
         btnClear.setOpaque(false);
         btnClear.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
         if (action == null) {
-            btnClear.addActionListener(new ActionListener() {
-                @Override
-                public void actionPerformed(ActionEvent e) {
-                    text.setText("");
-                }
+            btnClear.addActionListener((ActionEvent e) -> {
+              text.setText("");
             });
         } else {
             btnClear.addActionListener(action);
         }
         text.setLayout(new BorderLayout());
         text.add(btnClear, BorderLayout.EAST);
-        text.addPropertyChangeListener(new PropertyChangeListener() {
-            @Override
-            public void propertyChange(PropertyChangeEvent evt) {
-                if (evt == null) {
-                    return;
-                }
-                if (evt.getPropertyName().equalsIgnoreCase("enabled")) {
-                    boolean enabled = text.isEnabled();
-                    btnClear.setEnabled(enabled);
-                } else if (evt.getPropertyName().equalsIgnoreCase("editable")) {
-                    boolean editable = text.isEditable();
-                    btnClear.setEnabled(editable);
-                }
-            }
+        text.addPropertyChangeListener((PropertyChangeEvent evt) -> {
+          if (evt == null) {
+            return;
+          }
+          if (evt.getPropertyName().equalsIgnoreCase("enabled")) {
+            boolean enabled = text.isEnabled();
+            btnClear.setEnabled(enabled);
+          } else if (evt.getPropertyName().equalsIgnoreCase("editable")) {
+            boolean editable = text.isEditable();
+            btnClear.setEnabled(editable);
+          }
         });
     }
 
@@ -626,6 +615,7 @@
         return flc;
     }
 
+    @Override
     public FilteredTreeController createFilteredTreeController(JTree list, JTextComponent text, JButton button) {
         FilteredTreeController ftc = new DefaultFilteredTreeController(list, text, button);
         return ftc;
