Index: trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java	(revision 12304)
@@ -87,4 +87,8 @@
     }
 
+    /**
+     * Add a task to the main worker that will block the worker and run in the GUI thread.
+     * @param task The task to run
+     */
     public static void executeByMainWorkerInEDT(final Runnable task) {
         Main.worker.submit(() -> runInEDTAndWait(task));
Index: trunk/src/org/openstreetmap/josm/gui/util/ModifierListener.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/ModifierListener.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/util/ModifierListener.java	(revision 12304)
@@ -9,4 +9,8 @@
 @FunctionalInterface
 public interface ModifierListener {
+    /**
+     * Called when the modifiers are changed
+     * @param modifiers The new modifiers
+     */
     void modifiersChanged(int modifiers);
 }
Index: trunk/src/org/openstreetmap/josm/gui/util/RedirectInputMap.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/util/RedirectInputMap.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/util/RedirectInputMap.java	(revision 12304)
@@ -20,4 +20,9 @@
     private final InputMap target;
 
+    /**
+     * Create a new {@link RedirectInputMap}
+     * @param component The component the input map will be added to
+     * @param target The target input map that should be mirrored.
+     */
     public RedirectInputMap(JComponent component, InputMap target) {
         super(component);
@@ -60,4 +65,9 @@
     }
 
+    /**
+     * Redirects the key inputs from one component to an other component
+     * @param source The source component
+     * @param target The target component to send the keystrokes to.
+     */
     public static void redirect(JComponent source, JComponent target) {
         InputMap lastParent = source.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
Index: trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java	(revision 12304)
@@ -23,6 +23,5 @@
 
 /**
- *
- *
+ * A panel that allows the user to input the coordinates of a lat/lon box
  */
 public class BoundingBoxSelectionPanel extends JPanel {
@@ -85,8 +84,16 @@
     }
 
+    /**
+     * Sets the bounding box to the given area
+     * @param area The new input values
+     */
     public void setBoundingBox(Bounds area) {
         updateBboxFields(area);
     }
 
+    /**
+     * Get the bounding box the user selected
+     * @return The box or <code>null</code> if no valid data was input.
+     */
     public Bounds getBoundingBox() {
         double minlon, minlat, maxlon, maxlat;
Index: trunk/src/org/openstreetmap/josm/gui/widgets/DateEditorWithSlider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/DateEditorWithSlider.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/DateEditorWithSlider.java	(revision 12304)
@@ -90,4 +90,9 @@
     }
 
+    /**
+     * Sets the date range that is available using the slider
+     * @param dateMin The min date
+     * @param dateMax The max date
+     */
     public void setRange(Date dateMin, Date dateMax) {
         this.dateMin = DateUtils.cloneDate(dateMin);
@@ -95,16 +100,32 @@
     }
 
+    /**
+     * Sets the slider to the given value
+     * @param date The date
+     */
     public void setDate(Date date) {
         spinner.setValue(DateUtils.cloneDate(date));
     }
 
+    /**
+     * Gets the date that was selected by the user
+     * @return The date
+     */
     public Date getDate() {
         return DateUtils.cloneDate((Date) spinner.getValue());
     }
 
+    /**
+     * Adds a change listener to this date editor.
+     * @param l The listener
+     */
     public void addDateListener(ChangeListener l) {
         listeners.add(l);
     }
 
+    /**
+     * Removes a change listener from this date editor.
+     * @param l The listener
+     */
     public void removeDateListener(ChangeListener l) {
         listeners.remove(l);
Index: trunk/src/org/openstreetmap/josm/gui/widgets/EditableList.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/EditableList.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/EditableList.java	(revision 12304)
@@ -25,8 +25,23 @@
 public class EditableList extends JPanel {
 
+    /**
+     * The title displayed in input dialog
+     */
     public final String title;
+    /**
+     * The list items
+     */
     public final JList<String> sourcesList = new JList<>(new DefaultListModel<String>());
+    /**
+     * The add button
+     */
     public final JButton addSrcButton = new JButton(tr("Add"));
+    /**
+     * The edit button displayed nex to the list
+     */
     public final JButton editSrcButton = new JButton(tr("Edit"));
+    /**
+     * The delete button
+     */
     public final JButton deleteSrcButton = new JButton(tr("Delete"));
 
@@ -115,4 +130,8 @@
     }
 
+    /**
+     * Sets the list items by a given list of strings
+     * @param items The items that should be set
+     */
     public void setItems(final Iterable<String> items) {
         for (String source : items) {
@@ -121,4 +140,8 @@
     }
 
+    /**
+     * Gets all items that are currently displayed
+     * @return All items as list of strings
+     */
     public List<String> getItems() {
         final List<String> items = new ArrayList<>(sourcesList.getModel().getSize());
Index: trunk/src/org/openstreetmap/josm/gui/widgets/HistoryComboBox.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/HistoryComboBox.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/HistoryComboBox.java	(revision 12304)
@@ -15,4 +15,7 @@
     private final ComboBoxHistory model;
 
+    /**
+     * The default size of the search history.
+     */
     public static final int DEFAULT_SEARCH_HISTORY_SIZE = 15;
 
Index: trunk/src/org/openstreetmap/josm/gui/widgets/ListPopupMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/ListPopupMenu.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/ListPopupMenu.java	(revision 12304)
@@ -9,6 +9,6 @@
 
 /**
+ * A popup menu for one or more lists. If actions are added to this menu, a ListSelectionListener is registered automatically.
  * @author Vincent
- *
  */
 public class ListPopupMenu extends JPopupMenu {
@@ -16,4 +16,8 @@
     private final JList<?>[] lists;
 
+    /**
+     * Create a new ListPopupMenu
+     * @param lists The lists to which listeners should be appended
+     */
     public ListPopupMenu(JList<?>... lists) {
         this.lists = lists;
Index: trunk/src/org/openstreetmap/josm/gui/widgets/OsmPrimitivesTableModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/OsmPrimitivesTableModel.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/OsmPrimitivesTableModel.java	(revision 12304)
@@ -6,6 +6,14 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 
+/**
+ * A table model that displays OSM primitives in it's rows
+ */
 public interface OsmPrimitivesTableModel extends TableModel {
 
+    /**
+     * Gets the primitive at a given row index
+     * @param idx The row
+     * @return The primitive in that row
+     */
     OsmPrimitive getReferredPrimitive(int idx);
 }
Index: trunk/src/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.java	(revision 12304)
@@ -20,4 +20,8 @@
 import javax.swing.event.ListSelectionListener;
 
+/**
+ * A panel containing a search text field and a list of results for that search text.
+ * @param <T> The class of the things that are searched
+ */
 public abstract class SearchTextResultListPanel<T> extends JPanel {
 
@@ -125,4 +129,7 @@
     }
 
+    /**
+     * Initializes and clears the panel.
+     */
     public synchronized void init() {
         listSelectionListeners.clear();
@@ -142,16 +149,31 @@
     }
 
+    /**
+     * Clear the selected result
+     */
     public synchronized void clearSelection() {
         lsResult.clearSelection();
     }
 
+    /**
+     * Get the number of items available
+     * @return The number of search result items available
+     */
     public synchronized int getItemCount() {
         return lsResultModel.getSize();
     }
 
+    /**
+     * Sets a listener to be invoked on double click
+     * @param dblClickListener The double click listener
+     */
     public void setDblClickListener(ActionListener dblClickListener) {
         this.dblClickListener = dblClickListener;
     }
 
+    /**
+     * Sets a listener to be invoked on ssingle click
+     * @param clickListener The click listener
+     */
     public void setClickListener(ActionListener clickListener) {
         this.clickListener = clickListener;
Index: trunk/src/org/openstreetmap/josm/gui/widgets/SelectAllOnFocusGainedDecorator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/SelectAllOnFocusGainedDecorator.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/SelectAllOnFocusGainedDecorator.java	(revision 12304)
@@ -8,6 +8,13 @@
 import javax.swing.text.JTextComponent;
 
+/**
+ * A helper class that selects all text as soon as a {@link JTextComponent} receives focus.
+ */
 public class SelectAllOnFocusGainedDecorator extends FocusAdapter {
 
+    /**
+     * Add the listener to a given text component.
+     * @param tc The text component.
+     */
     public static void decorate(JTextComponent tc) {
         if (tc == null) return;
Index: trunk/src/org/openstreetmap/josm/gui/widgets/VerticallyScrollablePanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/VerticallyScrollablePanel.java	(revision 12303)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/VerticallyScrollablePanel.java	(revision 12304)
@@ -12,4 +12,9 @@
 import org.openstreetmap.josm.gui.util.GuiHelper;
 
+/**
+ * A panel that can be scrolled vertically. It enhances the normal {@link JPanel} to allow for better scrolling.
+ * Scroll pane contents may extend this.
+ * Use {@link #getVerticalScrollPane()} once to embed it into a scroll pane.
+ */
 public class VerticallyScrollablePanel extends JPanel implements Scrollable {
 
