本文整理汇总了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);
}
}
示例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);
}