目前,每个标题都包含列的名称,偶尔也会包含一个组合框。只要单击组合框,jtable就会自动排序。是否有一种简单的方法可以仅对组合框单击进行排序,同时保留标题的其余部分以便在单击时进行排序。
我被建议使用JXTable,但我担心它会导致更多问题而不是解决问题。
感谢任何帮助。
答案 0 :(得分: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。