0

目前在 Jtable 中有一个名称空间,然后在每个列标题中都有一个组合框。单击标题名称时,我希望仍然进行默认排序,但是单击组合框时,我希望它不排序。

我尝试在单击组合框时使用 mouseclick 事件,但 AWT 事件处理程序已经在我的侦听器之前接收到该事件。

TableRowSorter 声明如下:

TableRowSorter<TableModel> tableRowSorter = (TableRowSorter<TableModel>) mainTable.getRowSorter();
    tableRowSorter.addRowSorterListener(new RowSorterListener() {
        @Override
        public void sorterChanged(RowSorterEvent e) {
            if (!(mainTable.getSelectedRow() < 0)) {
                Rectangle r = mainTable.getCellRect(mainTable.getSelectedRow(), 0, true);
                Point p = mainScrollPane.getViewport().getViewPosition();
                r.setLocation(r.x, r.y - p.y);
                mainScrollPane.getViewport().scrollRectToVisible(r);
            }
        }
    });

//Section for popupmenu located in jtable class
    aggregationMenu = new JPopupMenu();
    aggregationMenu.setInvoker(this);
    for (AggregationType type : AggregationType.values()) {
        if (type == AggregationType.GROUP)
            continue;
        JMenuItem mi = new JMenuItem();
        mi.setText(type.toString());
        mi.addActionListener(this);
        aggregationMenu.add(mi);
    }
4

0 回答 0