Выберите строку в JTable после сортировки строкJAVA

Программисты JAVA общаются здесь
Anonymous
Выберите строку в JTable после сортировки строк

Сообщение Anonymous »

Я хочу программно выбрать первую строку в JTable после сортировки столбца. Как я могу это сделать?
Я написал свой собственный класс для прослушивания событий мыши в заголовке JTable. В этом классе я назначаю или нет TableRowSorter в таблице. Например: первый щелчок по возрастанию, второй по убыванию и т. д.; Если я помещу выделение в конец этого класса, результат будет непредсказуемым.

Код: Выделить всё

class ClickHeader extends MouseAdapter {

JTable table;
static int headerClickCount;
TableRowSorter sorter = new TableRowSorter();
static int lastColumn = -1;

ClickHeader(JTable t) {
table = t;
headerClickCount=0;
lastColumn=-1;
}

@Override
public void mousePressed(MouseEvent e) {
TableModel model = table.getModel();
int vColIndex = table.getTableHeader().getColumnModel().getColumnIndexAtX(e.getX());
if (vColIndex == -1) {
return;
}

vColIndex = table.convertColumnIndexToModel(vColIndex);

if(lastColumn != vColIndex){
lastColumn = vColIndex;
headerClickCount=0;
}
//
headerClickCount++;
if (headerClickCount == 3) {
table.setRowSorter(null);
sorter = new TableRowSorter();
headerClickCount = 0;
} else {
if (table.getRowSorter() == null) {
sorter.setModel(model);

}

table.setRowSorter(sorter);
}

table.getTableHeader().repaint();
}


Подробнее здесь: https://stackoverflow.com/questions/853 ... ow-sorting

Вернуться в «JAVA»