高手近来帮忙看看了!
package pkg;
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
public class CellRender extends DefaultTreeCellRenderer implements TreeCellRenderer {
protected Color selectedBackground;
protected Color selectedForeground;
protected Color noselectedBackground;
protected Color noselectedForeground;
protected Color overflowBackground = Color.yellow;
protected Color overflowForeground = Color.red;
protected Color overflowSelectedBG = Color.green;
protected Color overflowSelectedFG = Color.black;
public CellRender()
{
super();
}
//重载getTreeCellRendererComponent方法
public Component getTreeCellRendererComponent(JTree tree,Object value,boolean selected,boolean expanded,boolean leaf,int row,boolean hasFocus)
{
if (value==null || row<0)return this;
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
Node nd = (Node) node.getUserObject();
if (nd.name.equals("6"))
{
if (selected) {
this.setForeground(Color.red);
}
else {
this.setForeground(Color.red);
}
}
else
{
if (selected) {
this.setForeground(Color.red);
}
else {
this.setForeground(Color.green);
}
}
//this.firePropertyChange("leafIcon",this.getLeafIcon(),new ImageIcon("c:\\leaf.gif"));
this.setLeafIcon(new ImageIcon("c:\\leaf.gif"));
this.setOpenIcon(new ImageIcon("c:\\open.gif"));
this.setClosedIcon(new ImageIcon("c:\\close.gif"));
this.setFont(new Font("Dialog",0,18));
this.setBackground(Color.black);
return this;
}
}
在另一个程序中调用该类:
jTree1.setCellRenderer(new CellRender());
怎么有些属性能改变,比如:
this.setFont(new Font("Dialog",0,18));
有些属性怎么不能改变,比如:
this.setLeafIcon(new ImageIcon(".\\pic\\leaf.gif"));
this.setOpenIcon(new ImageIcon(".\\pic\\leaf.gif"));
this.setClosedIcon(new ImageIcon(".\\pic\\leaf.gif"));
以及:
this.setBackgroud(Color.blue);
为什么呢?