Получение реальных индексов выбранных строк в JTable, когда столбцы расположены в алфавитном порядке - PullRequest
3 голосов
/ 16 марта 2009

Если столбцы моего JTable не имеют алфавита, я могу без проблем использовать getSelectedRows () и получить значения их строк. Но если пользователь нажимает на имя столбца и строки в этом столбце располагаются по алфавиту, getSelectedRows () возвращает не выбранные в данный момент строки, а строки, которые были там до алфавитизации.

Как получить текущие выбранные строки, когда столбцы расположены в алфавитном порядке?

Ответы [ 3 ]

3 голосов
/ 17 июня 2011

С помощью этого кода вы получите правильные строки, которые вы визуально выбрали.

int[] row_indexes=jTable1.getSelectedRows();
for(int i=0;i<row_indexes.length;i++){
  domain=jTable1.getValueAt(row_indexes[i], 1).toString();  
  System.out.println(this, domain);
}
2 голосов
/ 16 ноября 2012
private void selectRow() {

//retrieving the selected row index

int row = jTable1.getSelectedRow();

//if a single row is selected from the table, take each cell values into the controls

 if (jTable1.getRowSelectionAllowed())
 {

   selectedJobId = Integer.parseInt(jTable1.getValueAt(row, 0).toString());

   jTextField_JobName.setText(jTable1.getValueAt(row, 1).toString());

   jTextField_ExpDate.setText(jTable1.getValueAt(row, 3).toString());

   jComboBox_JobCat.setSelectedItem(jTable1.getValueAt(row, 4).toString());

   jComboBox_JobSubCat.setSelectedItem(jTable1.getValueAt(row, 5).toString());

 }

}
1 голос
/ 13 мая 2009

Наверное, немного поздно, но я все равно решил написать об этом.

Посмотрите на метод JTable convertRowIndexToModel (row). Он возвращает номер строки, как если бы номер строки не был отсортирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...