JTree有个属性:
protected boolean editable将其设为true则所有节点可编辑,请问如何实现某个特定的节点可编辑呢?
protected boolean editable将其设为true则所有节点可编辑,请问如何实现某个特定的节点可编辑呢?
解决方案 »
- 菜鸟问题:当方法执行完毕后,该怎么让程序继续下去或者重复?
- 简单的字符统计问题
- 谁有ojdbc6.jar呀?我在oracle 官网上下了一天,速度超慢,下不动.....
- 为什么在linux(FC6系统)下面eclipse不能运行debug
- java计算器的一个错误
- JAVA有没有象VB一样的控件
- 各位老大:java 静态类在什么情况下使用?谢谢!
- 有谁用过这样的判断语句!
- 两个处理时间的问题???~~~~~~请指教!
- 在JSP中怎么调用OCX控件的方法,解决后马上给分
- 下载了个Java3D API,安装到了JBuilderX\jdk下面去,但是运行自带的demo的时候,为什么确都是加载applet失败?
- jbuilder有没有中文版的?
public DisabledNode(Object userObject, boolean allowsChildren)
这个DisabledNode 就代表你节点的对象
userObject是你的树节点的名字,boolean为是否可编辑
可以用这个构造器往里面加
public DisabledNode(Object userObject, boolean allowsChildren)
public void setEnabled(boolean enabled)
public boolean isEnabled()class aaa extends JFrame
String[] strs = {"swing", // 0
"plaf", // 1
"basic", // 2
"metal", // 3
"JTree", // 4
"plaf", // 5
"motif"}; // 6 DisabledNode[] nodes = new DisabledNode[strs.length];
for (int i=0;i<strs.length;i++) {
nodes[i] = new DisabledNode(strs[i]);
}
nodes[0].add(nodes[1]);
nodes[1].add(nodes[2]);
nodes[1].add(nodes[3]);
nodes[0].add(nodes[4]);
nodes[0].add(nodes[5]);
nodes[5].add(nodes[6]);
nodes[3].setEnabled(false);
nodes[5].setEnabled(false);
应该是这样写,呵呵.试试
tree.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
if (evt.getClickCount() == 1) {
TreePath path =
tree.getPathForLocation(evt.getX(), evt.getY()); if (path != null) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)path.getLastPathComponent();
if (node.getLevel()==2 && !node.toString().equals("Stock Location")) {
tree.setEditable(true);
System.out.println("setEditable is true");
}
else{
tree.setEditable(false);
System.out.println("setEditable is false");}
}
}
}
});