2

JTable でまとめて並べ替えるのを防ぐことは可能ですか? 基本的に、ユーザーがテーブル ヘッダーをクリックしたときに何も起こらないようにし、コンテンツが静的な順序になるようにしたくありません。

4

3 に答える 3

4

Javadocを参照してください。

public void setRowSorter(RowSorter sorter)

パラメータ:sorter- RowSorter; null並べ替えをオフにします

于 2012-06-14T16:46:40.437 に答える
2

基本的に、ユーザーがテーブルヘッダーをクリックしたときに何も起こらないようにし、コンテンツを静的な順序にします。

基本的JTableにソーターはありません。コードラインを削除する必要があります

- JTable#setAutoCreateRowSorter(true);

- table.setRowSorter(sorter);

- custom Comparator added as MouseEvent to the JTableHeader

並べ替えとフィルタリングに関するJTableチュートリアルを見て読んでください

于 2012-06-14T17:41:34.280 に答える
0

ユーザーがテーブルのヘッダー列をクリックしたときに並べ替えを無効にする最も簡単な方法は次のとおりです。

  1. まず、テーブル ヘッダーにマウス クリック リスナーを作成する必要があります。
  2. その中で、マウスの左クリックのみを有効にします (SwingUtilities を使用)
  3. このコード行を挿入します

    yourTableVariable.setRowSorter(null);

実際の例:

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                  
            }
        }
    });
于 2017-12-09T21:41:13.597 に答える