jtree mysql_Jtree (节点的渲染+资源管理器)

packagejtree.customNode;importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.Component;importjava.awt.Dimension;importjavax.swing.Icon;importjavax.swing.JPanel;importjavax.swing.JTree;importjavax.swing.UIManager;importjavax.swing.plaf.ColorUIResource;importjavax.swing.tree.TreeCellRenderer;importjtree.checkBoxTree.CheckBoxTreeLabel;public class CusNodeTreeCellRender extends JPanel implementsTreeCellRenderer {private static final long serialVersionUID = 4676667399191240255L;protectedCheckBoxTreeLabel label;//protected JLabel label;

publicCusNodeTreeCellRender() {

setLayout(newBorderLayout());

add(label= newCheckBoxTreeLabel());//add(label = new JLabel());

label.setForeground(UIManager.getColor("Tree.textForeground"));this.setPreferredSize(new Dimension(100, 20));

}/** (non-Javadoc)

*

* @see

* javax.swing.tree.TreeCellRenderer#getTreeCellRendererComponent(javax.

* swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)*/@OverridepublicComponent getTreeCellRendererComponent(JTree tree, Object value,boolean selected, boolean expanded, boolean leaf, introw,booleanhasFocus) {

String stringValue=tree.convertValueToText(value, selected, expanded,

leaf, row, hasFocus);boolean nodeIsEnabled =((CusTreeNode) value).isEnabled();

setEnabled(nodeIsEnabled);

label.setFont(tree.getFont());

label.setText(stringValue);

label.setSelected(selected);

label.setFocus(hasFocus);if(leaf)

label.setIcon(UIManager.getIcon("Tree.leafIcon"));else if(expanded)

label.setIcon(UIManager.getIcon("Tree.openIcon"));else{

label.setIcon(UIManager.getIcon("Tree.closedIcon"));

}

Icon icon=((CusTreeNode) value).getIcon();if(icon != null){

label.setIcon(icon);

}return this;

}

@Overridepublic voidsetBackground(Color color) {if (color instanceofColorUIResource)

color= null;super.setBackground(color);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值