📄 nodecellrenderer.java
字号:
/*
* Created on 2004/08/17
*
*/
package za.co.halo.SecureCommunications.gui.client2;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.border.Border;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.TreeCellRenderer;
import org.netbeans.lib.awtextra.AbsoluteConstraints;
import org.netbeans.lib.awtextra.AbsoluteLayout;
import za.co.halo.SecureCommunications.ServerAdmin;
import za.co.halo.SecureCommunications.gui.client2.Node;
public class NodeCellRenderer implements TreeCellRenderer
{
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
if (value instanceof Node)
{
Node n = (Node) value;
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
if (n.getType() == Node.Type.SMALL)
return new SmallNodeCellRenderer().getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
else if (n.getType() == Node.Type.MEDIUM)
return new SmallNodeCellRenderer().getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
if (n.getType() == Node.Type.BIG)
return new NodeCellPanel(tree, n, selected, expanded, leaf, row, hasFocus);
}
ServerAdmin.error.alert("Could not render unknown component");
return null;
}
class SmallNodeCellRenderer extends DefaultTreeCellRenderer
{
SmallNodeCellRenderer()
{
super();
backgroundNonSelectionColor = ServerAdmin.DARK_BLUE;
backgroundSelectionColor = ServerAdmin.LIGHT_BLUE;
textNonSelectionColor = ServerAdmin.WHITE;
textSelectionColor = ServerAdmin.WHITE;
}
}
/*
* wit 255,255,255
* grys 192,192,192
* dblue 15, 65, 108
* lblue 21, 118, 146
*/
class NodeCellPanel extends JPanel
{
JLabel label;
NodeCellPanel(JTree tree, Node n, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
{
setBackground(ServerAdmin.DARK_BLUE);
//setPreferredSize(new Dimension(100,30));
setLayout(new AbsoluteLayout());
label = new JLabel(n.toString());
Font f = new Font("Arial",Font.BOLD,16);
//label.setBorder(Border);
if (selected)
label.setForeground(ServerAdmin.GREY);
else
label.setForeground(ServerAdmin.LIGHT_BLUE);
label.setFont(f);
add(label,new AbsoluteConstraints(2,2,150,20));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -