那如果点击help文档左边树的每个节点,在右边的textpane里显示其说明,哪这些说明是不是该预先写在一个文件里,那显示的时候字体大小怎么控制,另外如果有图的话怎么调?
解决方案 »
- 一个关于Cookie和Session的问题
- 我想在java应用中实现 宏 的功能,不知道从何下手。希望朋友们指点一下。
- 菜鸟急求帮助~
- 关于javabean的问题
- 求助:初学java,不知道这个问题怎么处理?
- 很简单的问题,可就是不知道问题在哪里
- jcreator中连接sqlserver简单错误
- 如何在applet中定义和调用多线程?
- 关于〈input type=file>经典问题的解决方法,100分求助各位大侠
- socket, server在把client发来的数据原样发回client时丢了一个字节是怎么回事?
- 在下写的一个绚丽多彩的3D花篮,现在公布源代码,希望和大家共同切磋交流:)
- 如何在java程序中进行拨号?
import javax.swing.Icon;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.plaf.metal.MetalIconFactory;/**
* 树图标
*/
public class IconNodeRenderer extends DefaultTreeCellRenderer { /** 有叶子节点的图标 */
public static final Icon FOLDER_ICON=common.Transfer.getAppIcon("resource/folder.gif"); /** 叶子节点的图标*/
public static final Icon LEAF_ICON=common.Transfer.getAppIcon("resource/leaf.gif"); /** 节点打开时的图标*/
public static final Icon EXPANDED_ICON=common.Transfer.getAppIcon("resource/expanded.gif"); public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean expanded, boolean leaf,
int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); TreeNode node=(TreeNode)value; //判断节点是否已设置图标
Icon icon = node.getIcon(); if (icon == null) {
if(expanded)
setIcon(EXPANDED_ICON);
else if(!leaf)
setIcon(FOLDER_ICON);
else
setIcon(LEAF_ICON);
} else {
setIcon(icon);
} return this;
}}可根据需要设置自己的图标,比如当前选中状态等
可以自己定义一个类,存储相应的信息。
如:
public class NodeOfNameID {
private String name;
private String id;
public NodeOfNameID(String name, String id) {
this.name = name;
this.id = id;
}
//toString方法一定要覆盖
public String toString() {
return name;
}
}
通过
DefaultMutableTreeNode treeNode = new DefaultMutableTreeNode(new NodeOfNameID("test" ,"T001"));
把节点加入树中。
处理树的选择事件得到选中节点信息就可以进行相应的操作。