diff --git a/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/actions/ConnectionAction.java b/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/actions/ConnectionAction.java --- a/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/actions/ConnectionAction.java +++ b/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/actions/ConnectionAction.java @@ -52,6 +52,8 @@ import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import javax.swing.AbstractListModel; import javax.swing.Action; @@ -224,6 +226,7 @@ ConnectionManager.getDefault().addConnectionListener(listener); connectionList = new ArrayList(); connectionList.addAll(Arrays.asList(ConnectionManager.getDefault().getConnections())); + sortConnections(); } public Object getElementAt(int index) { @@ -271,6 +274,7 @@ public void run() { connectionList.clear(); connectionList.addAll(Arrays.asList(ConnectionManager.getDefault().getConnections())); + sortConnections(); DatabaseConnection selectedItem = (DatabaseConnection)getSelectedItem(); if (selectedItem != null && !connectionList.contains(selectedItem)) { @@ -280,6 +284,15 @@ } }); } + + void sortConnections() { + Collections.sort(connectionList, new Comparator() { + @Override + public int compare(DatabaseConnection o1, DatabaseConnection o2) { + return o1.getDisplayName().compareTo(o2.getDisplayName()); + } + }); + } } private static final class DatabaseConnectionRenderer extends DefaultListCellRenderer {