当前位置: 首页>>代码示例>>Java>>正文


Java RowSorter.rowsUpdated方法代码示例

本文整理汇总了Java中javax.swing.RowSorter.rowsUpdated方法的典型用法代码示例。如果您正苦于以下问题:Java RowSorter.rowsUpdated方法的具体用法?Java RowSorter.rowsUpdated怎么用?Java RowSorter.rowsUpdated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.swing.RowSorter的用法示例。


在下文中一共展示了RowSorter.rowsUpdated方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: treeColumnChanged

import javax.swing.RowSorter; //导入方法依赖的package包/类
@Override
public void treeColumnChanged(TreeColumnModelEvent e) {
    TreePath path = e.getTreePath();
    if (rowSorter != null) {
        RowSorter<?> sorter = path.getParentPath() != null ? rowSorter.getRowSorter(path.getParentPath().getLastPathComponent()): null;
        if (sorter != null && path.getParentPath() != null) {
            boolean isc = ignoreSortedChange;
            ignoreSortedChange = true;
            try {
                Object parent = path.getParentPath().getLastPathComponent();
                Object node = path.getLastPathComponent();
                int modelRow = treeModel.getIndexOfChild(parent, node);
                int viewRow = sorter.convertRowIndexToView(modelRow);
                sorter.rowsUpdated(modelRow, modelRow);
                if (sorter.convertRowIndexToView(modelRow) != viewRow) {
                    if (isExpanded(path)) {
                        updatePath(path, expandedDescendants(path));
                    } else {
                        fireTreeStructureChanged(path);
                    }
                    return;
                }
            } finally {
                ignoreSortedChange = isc;
            }
        }
    }

    int row = getRowForPath(path);
    if (row < 0)
        return;
    if (e.getColumn() == TreeColumnModelEvent.ALL_COLUMNS) {
        fireTableRowsUpdated(row, row);
    } else {
        fireTableCellUpdated(row, e.getColumn());
    }
    if (getRowHeight() <= 0) {
        invalidatePath(e.getTreePath());
        updateTableRowHeights(row, row+1);
    }
}
 
开发者ID:Sciss,项目名称:TreeTable,代码行数:42,代码来源:TreeTable.java

示例2: processTreeNodesChanged

import javax.swing.RowSorter; //导入方法依赖的package包/类
private void processTreeNodesChanged(TreePath path, int[] childIndices, Object[] childNodes) {
    if (rowSorter != null) {
        RowSorter<?> sorter = rowSorter.getRowSorter(path.getLastPathComponent());
        if (sorter != null) {
            boolean isc = ignoreSortedChange;
            ignoreSortedChange = true;
            try {
                if (childIndices.length == 1) {
                    int row = childIndices[0];
                    int viewRow = sorter.convertRowIndexToView(row);
                    sorter.rowsUpdated(row, row);
                    childIndices[0] = sorter.convertRowIndexToView(row);
                    if (childIndices[0] == viewRow) {
                        if (viewRow >= 0)
                            fireTreeNodesChanged(path, childIndices, childNodes);
                        return;
                    }
                } else {
                    SorterHelper help = new SorterHelper(sorter, childIndices, childNodes);
                    int[] viewIndices = null;
                    Object[] viewNodes = null;
                    if (help.computeView()) {
                        viewIndices = help.viewIndices;
                        viewNodes = help.viewNodes;
                    }
                    sorter.rowsUpdated(childIndices[0], childIndices[childIndices.length-1]);
                    if (help.computeView()) {
                        if (Arrays.equals(viewIndices, help.viewIndices)
                                && Arrays.equals(viewNodes, help.viewNodes)) {
                            fireTreeNodesChanged(path, viewIndices, viewNodes);
                            return;
                        }
                    } else if (viewIndices == null) {
                        return;
                    }
                }
            } finally {
                ignoreSortedChange = isc;
            }
            updatePath(path, expandedDescendants(path));
            return;
        }
    }
    fireTreeNodesChanged(path, childIndices, childNodes);
}
 
开发者ID:Sciss,项目名称:TreeTable,代码行数:46,代码来源:TreeTable.java


注:本文中的javax.swing.RowSorter.rowsUpdated方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。