import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
public class JTreeDemo3 implements TreeSelectionListener {
JEditorPane editorPane;
public JTreeDemo3(){
JFrame jf = new JFrame();
Container contentPane = jf.getContentPane();
DefaultMutableTreeNode root = new DefaultMutableTreeNode("資源管理器");
DefaultMutableTreeNode node = new DefaultMutableTreeNode("JTreeDemo1.java");
root.add(node);
node = new DefaultMutableTreeNode("JTreeDemo2.java");
root.add(node);
node = new DefaultMutableTreeNode("JTreeDemo3.java");
root.add(node);
JTree tree = new JTree(root);
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.addTreeSelectionListener(this);
JScrollPane scrollPane = new JScrollPane(tree);
editorPane = new JEditorPane();
JScrollPane scrollPane2 = new JScrollPane(editorPane);
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollPane,scrollPane2);
splitPane.setOneTouchExpandable(true);
contentPane.add(splitPane);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String...args){
new JTreeDemo3();
}
@Override
public void valueChanged(TreeSelectionEvent e){
JTree tree = (JTree) e.getSource();
DefaultMutableTreeNode selectionNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
// 為什么不用JTree.getLastPathComponent();????
// 用JTree.getSelectionPath().getLastPathComponent也可以
System.out.println(selectionNode);
System.out.println(tree.getSelectionPath().getLastPathComponent());
String nodeName = selectionNode.toString();
if(selectionNode.isLeaf()){
String filepath = "file:"+System.getProperty("user.dir")+System.getProperty("file.separator")
+"src/com/javaswing/tree/"+nodeName;
System.out.println(filepath);
try{
editorPane.setPage(filepath);
}catch(IOException ioe){
System.out.println("系統找不到文件");
}
}
}
}
參考:深入淺出Java Swing程序設計
分享到:
相关推荐
JTree的使用 JTree的使用 JTree的使用
jtree中加checkbox,实用哦。
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
JTree的例子,可以拖动节点 JTree的例子,可以拖动节点
java JTree+JTable使用样例,实现将JTree的节点内容显示到JTable中,eclipse导入maven项目 maven编译: mvn clean package
JAVA JTREE实例代码、JAVA JTABLE实例代码
JTree 树形菜单插件包下载,在网页上快速实现树控菜单的一个小插件,功能相对完善,本次更新功能:加入treeNodes(数组形式),通过treeNodes可以对指定的子树进行收缩和展开功能,查找指定节点的功能。加入这个功能...
JTree用法及JTree使用经验总结(吐血推荐) 1、初始化 2、三个经常使用的取值函数 3、根据node得到path:4、根据Path展开到该节点 5、根据path设定该节点选定 6、选中节点的方法 7、滚动到可见位置 8、给JTree添加右键...
java使用jtree动态实现二叉树,包含二叉树的插入删除很查找
JTree上的每一个节点就代表一个TreeNode对象,TreeNode本身是一个Interface,里面定义了7个有关节点的方法,例如判断是否 为树叶节点、有几个子节点(getChildCount())、父节点为何(getparent())等等、这些方法的定义...
JTree的用法
jtree带复选框的 很典型的例子 当子节点有一个没有被选中时 父节点及其父父结点均不会被选中
JTree tree = new JTree(root); tree.setRootVisible(false);//不显示树的根节点 tree.setRowHeight(20);//树节点的行高为20像素 tree.setFont(new Font("宋体", Font.BOLD, 14));//设置树结点的字体 //...
java组件之jtree使用 10-1:使用JTree组件: 10-2:以Hashtable构造JTree: 10-3:以TreeNode构造JTree: . . . . 10-8:JTree的其他操作:
jtree节点可编辑
jtree , 经典教程,jtree 例子 ,很适合初学者,和急需使用的读者,一看就会
在java中,树对象提供了用树型结构分层显示数据的视图。可以扩展和收缩视图中的单个子树。树由Swing中的JTree类实现,JTree是Jcomponent的子类。文档就介绍了JTree的使用
JTree设置QQ好友树形列表中不同好友的图像,采用swing组件
JTree用法大全,各种使用方法demo,介绍,并附注释。
java中的关于jtree编程的详细介绍,通过jtree的使用,掌握模型设计的核心技术,同时丰富了java界面的美观度和实用度。