public void testSetCellRenderer() {
PropertyChangeController listener = new PropertyChangeController();
TreeCellRenderer renderer1 = new DefaultTreeCellRenderer();
TreeCellRenderer renderer2 = new DefaultTreeCellRenderer();
tree.addPropertyChangeListener(listener);
TreeCellRenderer oldRenderer = tree.getCellRenderer();
tree.setCellRenderer(renderer1);
listener.checkPropertyFired(tree, "cellRenderer", oldRenderer, renderer1);
assertEquals("cellRenderer", renderer1, tree.getCellRenderer());
listener.reset();
tree.setCellRenderer(renderer2);
listener.checkPropertyFired(tree, "cellRenderer", renderer1, renderer2);
assertEquals("cellRenderer", renderer2, tree.getCellRenderer());
listener.reset();
tree.setCellRenderer(renderer2);
assertFalse("event's not been fired ", listener.isChanged());
listener.reset();
tree.setCellRenderer(null);
listener.checkPropertyFired(tree, "cellRenderer", renderer2, null);
// it's being controlled by UI via listener
assertNotNull("cellRenderer", tree.getCellRenderer());
assertNotSame("cellRenderer", oldRenderer, tree.getCellRenderer());
assertNotSame("cellRenderer", renderer2, tree.getCellRenderer());
listener.reset();
}
java类javax.swing.tree.TreeCellRenderer的实例源码
JTreeTest.java 文件源码
项目:cn1
阅读 30
收藏 0
点赞 0
评论 0
BasicTreeUI.java 文件源码
项目:JamVM-PH
阅读 21
收藏 0
点赞 0
评论 0
/**
* Sets the TreeCellRenderer to <code>tcr</code>. This invokes
* <code>updateRenderer</code>.
*
* @param tcr is the new TreeCellRenderer.
*/
protected void setCellRenderer(TreeCellRenderer tcr)
{
// Finish editing before changing the renderer.
completeEditing();
// The renderer is set in updateRenderer.
updateRenderer();
// Refresh the layout if necessary.
if (treeState != null)
{
treeState.invalidateSizes();
updateSize();
}
}
BasicTreeUI.java 文件源码
项目:JamVM-PH
阅读 20
收藏 0
点赞 0
评论 0
/**
* Paints the renderer part of a row. The receiver should NOT modify
* clipBounds, or insets.
*
* @param g - the graphics configuration
* @param clipBounds -
* @param insets -
* @param bounds - bounds of expand control
* @param path - path to draw control for
* @param row - row to draw control for
* @param isExpanded - is the row expanded
* @param hasBeenExpanded - has the row already been expanded
* @param isLeaf - is the path a leaf
*/
protected void paintRow(Graphics g, Rectangle clipBounds, Insets insets,
Rectangle bounds, TreePath path, int row,
boolean isExpanded, boolean hasBeenExpanded,
boolean isLeaf)
{
boolean selected = tree.isPathSelected(path);
boolean hasIcons = false;
Object node = path.getLastPathComponent();
paintExpandControl(g, clipBounds, insets, bounds, path, row, isExpanded,
hasBeenExpanded, isLeaf);
TreeCellRenderer dtcr = currentCellRenderer;
boolean focused = false;
if (treeSelectionModel != null)
focused = treeSelectionModel.getLeadSelectionRow() == row
&& tree.isFocusOwner();
Component c = dtcr.getTreeCellRendererComponent(tree, node, selected,
isExpanded, isLeaf, row,
focused);
rendererPane.paintComponent(g, c, c.getParent(), bounds);
}
JTreeTable.java 文件源码
项目:libreveris
阅读 19
收藏 0
点赞 0
评论 0
/**
* updateUI is overridden to set the colors of the Tree's renderer to
* match that of the table.
*/
@Override
public void updateUI ()
{
super.updateUI();
// Make the tree's cell renderer use the table's cell selection
// colors.
TreeCellRenderer tcr = getCellRenderer();
if (tcr instanceof DefaultTreeCellRenderer) {
DefaultTreeCellRenderer dtcr = ((DefaultTreeCellRenderer) tcr);
// For 1.1 uncomment this, 1.2 has a bug that will cause an
// exception to be thrown if the border selection color is
// null.
dtcr.setBorderSelectionColor(null);
dtcr.setTextSelectionColor(
UIManager.getColor("Table.selectionForeground"));
dtcr.setBackgroundSelectionColor(
UIManager.getColor("Table.selectionBackground"));
}
}
TreeTableView.java 文件源码
项目:tools-idea
阅读 24
收藏 0
点赞 0
评论 0
public TreeTableView(ListTreeTableModelOnColumns treeTableModel) {
super(treeTableModel);
setRootVisible(false);
setTreeCellRenderer(new TreeCellRenderer() {
private final TreeCellRenderer myBaseRenderer = new HighlightableCellRenderer();
public Component getTreeCellRendererComponent(JTree tree1,
Object value,
boolean selected,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {
JComponent result = (JComponent)myBaseRenderer.getTreeCellRendererComponent(tree1, value, selected, expanded, leaf, row, hasFocus);
result.setOpaque(!selected);
return result;
}
});
setSizes();
}
TreeExpandableItemsHandler.java 文件源码
项目:tools-idea
阅读 19
收藏 0
点赞 0
评论 0
protected Pair<Component, Rectangle> getCellRendererAndBounds(Integer key) {
int rowIndex = key.intValue();
TreePath path = myComponent.getPathForRow(rowIndex);
if (path == null) return null;
Rectangle bounds = myComponent.getPathBounds(path);
if (bounds == null) return null;
TreeCellRenderer renderer = myComponent.getCellRenderer();
if (renderer == null) return null;
Object node = path.getLastPathComponent();
Component rendererComponent = renderer.getTreeCellRendererComponent(
myComponent,
node,
myComponent.isRowSelected(rowIndex),
myComponent.isExpanded(rowIndex),
myComponent.getModel().isLeaf(node),
rowIndex,
myComponent.hasFocus()
);
return Pair.create(rendererComponent, bounds);
}
BasicTreeUI.java 文件源码
项目:classpath
阅读 19
收藏 0
点赞 0
评论 0
/**
* Sets the TreeCellRenderer to <code>tcr</code>. This invokes
* <code>updateRenderer</code>.
*
* @param tcr is the new TreeCellRenderer.
*/
protected void setCellRenderer(TreeCellRenderer tcr)
{
// Finish editing before changing the renderer.
completeEditing();
// The renderer is set in updateRenderer.
updateRenderer();
// Refresh the layout if necessary.
if (treeState != null)
{
treeState.invalidateSizes();
updateSize();
}
}
BasicTreeUI.java 文件源码
项目:classpath
阅读 21
收藏 0
点赞 0
评论 0
/**
* Paints the renderer part of a row. The receiver should NOT modify
* clipBounds, or insets.
*
* @param g - the graphics configuration
* @param clipBounds -
* @param insets -
* @param bounds - bounds of expand control
* @param path - path to draw control for
* @param row - row to draw control for
* @param isExpanded - is the row expanded
* @param hasBeenExpanded - has the row already been expanded
* @param isLeaf - is the path a leaf
*/
protected void paintRow(Graphics g, Rectangle clipBounds, Insets insets,
Rectangle bounds, TreePath path, int row,
boolean isExpanded, boolean hasBeenExpanded,
boolean isLeaf)
{
boolean selected = tree.isPathSelected(path);
boolean hasIcons = false;
Object node = path.getLastPathComponent();
paintExpandControl(g, clipBounds, insets, bounds, path, row, isExpanded,
hasBeenExpanded, isLeaf);
TreeCellRenderer dtcr = currentCellRenderer;
boolean focused = false;
if (treeSelectionModel != null)
focused = treeSelectionModel.getLeadSelectionRow() == row
&& tree.isFocusOwner();
Component c = dtcr.getTreeCellRendererComponent(tree, node, selected,
isExpanded, isLeaf, row,
focused);
rendererPane.paintComponent(g, c, c.getParent(), bounds);
}
BasicTreeUI.java 文件源码
项目:freeVM
阅读 29
收藏 0
点赞 0
评论 0
public void propertyChange(final PropertyChangeEvent e) {
String changedProperty = e.getPropertyName();
if (JTree.CELL_RENDERER_PROPERTY.equals(changedProperty)) {
setCellRenderer((TreeCellRenderer)e.getNewValue());
} else if (JTree.CELL_EDITOR_PROPERTY.equals(changedProperty)) {
setCellEditor((TreeCellEditor)e.getNewValue());
} else if (JTree.TREE_MODEL_PROPERTY.equals(changedProperty)) {
setModel((TreeModel)e.getNewValue());
} else if (JTree.ROOT_VISIBLE_PROPERTY.equals(changedProperty)) {
setRootVisible(((Boolean)e.getNewValue()).booleanValue());
} else if (JTree.SHOWS_ROOT_HANDLES_PROPERTY.equals(changedProperty)) {
setShowsRootHandles(((Boolean)e.getNewValue()).booleanValue());
} else if (JTree.ROW_HEIGHT_PROPERTY.equals(changedProperty)) {
setRowHeight(((Integer)e.getNewValue()).intValue());
} else if (JTree.EDITABLE_PROPERTY.equals(changedProperty)) {
setEditable(((Boolean)e.getNewValue()).booleanValue());
} else if (JTree.LARGE_MODEL_PROPERTY.equals(changedProperty)) {
setLargeModel(((Boolean)e.getNewValue()).booleanValue());
} else if (JTree.SELECTION_MODEL_PROPERTY.equals(changedProperty)) {
setSelectionModel((TreeSelectionModel)e.getNewValue());
} else if (JTree.LEAD_SELECTION_PATH_PROPERTY.equals(changedProperty)) {
TreePath leadPath = (TreePath)e.getNewValue();
lastSelectedRow = leadPath != null ? tree.getRowForPath(leadPath) : -1;
}
}
JTreeTest.java 文件源码
项目:freeVM
阅读 37
收藏 0
点赞 0
评论 0
public void testSetCellRenderer() {
PropertyChangeController listener = new PropertyChangeController();
TreeCellRenderer renderer1 = new DefaultTreeCellRenderer();
TreeCellRenderer renderer2 = new DefaultTreeCellRenderer();
tree.addPropertyChangeListener(listener);
TreeCellRenderer oldRenderer = tree.getCellRenderer();
tree.setCellRenderer(renderer1);
listener.checkPropertyFired(tree, "cellRenderer", oldRenderer, renderer1);
assertEquals("cellRenderer", renderer1, tree.getCellRenderer());
listener.reset();
tree.setCellRenderer(renderer2);
listener.checkPropertyFired(tree, "cellRenderer", renderer1, renderer2);
assertEquals("cellRenderer", renderer2, tree.getCellRenderer());
listener.reset();
tree.setCellRenderer(renderer2);
assertFalse("event's not been fired ", listener.isChanged());
listener.reset();
tree.setCellRenderer(null);
listener.checkPropertyFired(tree, "cellRenderer", renderer2, null);
// it's being controlled by UI via listener
assertNotNull("cellRenderer", tree.getCellRenderer());
assertNotSame("cellRenderer", oldRenderer, tree.getCellRenderer());
assertNotSame("cellRenderer", renderer2, tree.getCellRenderer());
listener.reset();
}