Auto-select first card after doing search if no card otherwise selected

This commit is contained in:
drdev
2013-11-23 04:38:34 +00:00
parent cc433b6708
commit b726053164
2 changed files with 42 additions and 33 deletions

View File

@@ -30,6 +30,7 @@ import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.KeyStroke;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionListener;
import com.google.common.base.Predicate;
@@ -469,6 +470,16 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel {
}
this.table.getTableModel().refreshSort();
//select first row if no row already selected
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (table.getRowCount() > 0 && table.getSelectedRowCount() == 0) {
table.selectAndScrollTo(0);
}
}
});
}
/**

View File

@@ -151,9 +151,7 @@ public final class ItemTableModel<T extends InventoryItem> extends AbstractTable
private final ListSelectionListener listSelectionListener = new ListSelectionListener() {
@Override
public void valueChanged(final ListSelectionEvent arg0) {
if (table.isFocusOwner()) {
ItemTableModel.this.onSelectionChange(table);
}
ItemTableModel.this.onSelectionChange(table);
}
};