0

現在、すべてのヘッダーには列の名前が含まれており、場合によってはその下にコンボ ボックスが含まれています。コンボ ボックスがクリックされるたびに、jtable が自動的に並べ替えられます。ヘッダーの残りの部分を保持してクリック時にソートするようにしながら、コンボボックスのクリックだけでソートを無効にする簡単な方法はありますか?

私は JXTable を提案されましたが、それが修正するよりも多くの問題を引き起こすのではないかと心配しています.

どんな助けでも大歓迎です。

4

1 に答える 1

0

次のようなものを試してください:

public class SortFilterTableHeaderUI extends BasicTableHeaderUI {

    private Component filteredComponent;

    @Override
    protected MouseInputListener createMouseInputListener() {
        return new MouseInputHandler() {

            @Override
            public void mouseClicked(MouseEvent e) {
                if (!filteredComponent.contains(e.getPoint()))
                    super.mouseClicked(e);
            }
        };
    }
}

他のオプションはオーバーライドJTAbleHeader.columnAtPoint(Point point)で、コンボにポイントが含まれている場合は -1 を返します。

于 2013-04-30T17:40:55.463 に答える