2012-06-14 4 views
2

Можно ли предотвратить сортировку всего на JTable? В принципе, я не хочу, чтобы что-то происходило, когда пользователь щелкает заголовок таблицы и содержимое находится в статическом порядке.JTable предотвращает все сортировки

ответ

4

См the Javadoc:

общественного недействительными setRowSorter (RowSorter сортировщик)

Параметры: sorter - RowSorter; null витки сортировочные от

2

В принципе я ничего не хочу, чтобы это произошло, когда пользователь нажимает на заголовок таблицы, и содержание, чтобы быть в статическом порядке.

в основном JTable не какой-либо сортировщик, вы должны удалить codelines

- JTable#setAutoCreateRowSorter(true); 

- table.setRowSorter(sorter); 

- custom Comparator added as MouseEvent to the JTableHeader 

есть посмотреть и прочитать JTable tutorial about Sorting and Filtering

0

Лучший и простой способ, чтобы отключить сортировку, когда пользователь нажимает на любой таблицы колонны заголовков:

  1. Сначала вам нужно создать прослушиватель кликов мыши в заголовке таблицы
  2. внутри него делают только мыши влево комплекте (с SwingUtilities)
  3. вставить эту строку кода

    yourTableVariable.setRowSorter (нуль);

Практический пример:

yourTableVariable.getTableHeader().addMouseListener(new MouseAdapter() //here you make the click avaible ONLY on Table Header 
    { 
     @Override 
     public void mouseClicked(MouseEvent arg0) 
     { 
      if (SwingUtilities.isLeftMouseButton(arg0)) //here you select the mouse left click action 
      { 
       yourTableVariable.setRowSorter(null); //here is disableing the sorting     
      } 
     } 
    }); 
Смежные вопросы