- 浏览: 452829 次
- 性别:
- 来自: 江门
文章分类
最新评论
-
ctz_131415:
谁能告诉我这个分页控件如何添加到窗口上?谢谢了
C# Winform DataGridView 公共分页实现 -
omymy:
FrmPage_Shown是放在页面加载时的load事件里的, ...
C# Winform DataGridView 公共分页实现 -
qie:
如何使用该分页控件?
C# Winform DataGridView 公共分页实现 -
anyanlonga:
看地图干什么用啊,如果查公交的话,自认为还是白度好
Android 上创建和地图相关的应用,用 Google 地图 API 好,还是百度等第三方地图 API 好 -
dedepro:
果然很强。
CSS层 固定置顶部兼容IE6等以上浏览器
一、JTree用法及JTree使用经验总结
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class JTreeDemo {
public static void main(String[] args) {
// 构造函数:JTree()
JTree example1 = new JTree();
// 构造函数:JTree(Object[] value)
Object[] letters = { " a ", " b ", " c ", " d ", " e " };
JTree example2 = new JTree(letters);
// 构造函数:JTree(TreeNode root)(TreeNode空)
// 用空结点创建树
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(); // 定义树结点
JTree example3 = new JTree(node1); // 用此树结点做参数调用 JTree的构造函数创建含有一个根结点的树
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 用一个根结点创建树
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode(" Color ");
// 结点不可以颜色,默认为白面黑字
JTree example4 = new JTree(node2);
example4.setBackground(Color.lightGray);
// 构造函数:JTree(TreeNode root, boolean
// asksAllowsChildren)(同上,只是TreeNode又有不同)
// 使用DefaultMutableTreeNode类先用一个根结点创建树,设置为可添加孩子结点,再添加孩子结点
DefaultMutableTreeNode color = new DefaultMutableTreeNode(" Color ", true);
DefaultMutableTreeNode gray = new DefaultMutableTreeNode(" Gray ");
color.add(gray);
color.add(new DefaultMutableTreeNode(" Red "));
gray.add(new DefaultMutableTreeNode(" Lightgray "));
gray.add(new DefaultMutableTreeNode(" Darkgray "));
color.add(new DefaultMutableTreeNode(" Green "));
JTree example5 = new JTree(color);
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 通过逐个添加结点创建树
DefaultMutableTreeNode biology = new DefaultMutableTreeNode(" Biology ");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode(" Animal ");
DefaultMutableTreeNode mammal = new DefaultMutableTreeNode(" Mammal ");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode(" Horse ");
mammal.add(horse);
animal.add(mammal);
biology.add(animal);
JTree example6 = new JTree(biology);
horse.isLeaf();
horse.isRoot();
// 构造函数:JTree(TreeModel newModel)
// 用DefaultMutableTreeNodel类定义一个结点再用这个结点做参数定义一个用DefaultTreeMode
// 创建一个树的模型,再用JTree的构造函数创建一个树
DefaultMutableTreeNode root = new DefaultMutableTreeNode(" Root1 ");
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode(" Child1 ");
DefaultMutableTreeNode child11 = new DefaultMutableTreeNode(" Child11 ");
DefaultMutableTreeNode child111 = new DefaultMutableTreeNode(" Child111 ");
root.add(child1);
child1.add(child11);
child11.add(child111);
DefaultTreeModel model = new DefaultTreeModel(root);
JTree example7 = new JTree(model);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setPreferredSize(new Dimension(700, 400));
panel.add(new JScrollPane(example1)); // JTree必须放在JScrollPane上
panel.add(new JScrollPane(example2));
panel.add(new JScrollPane(example3));
panel.add(new JScrollPane(example4));
panel.add(new JScrollPane(example5));
panel.add(new JScrollPane(example6));
panel.add(new JScrollPane(example7));
JFrame frame = new JFrame(" JTreeDemo ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.show();
}
}
××××××××××××××××××××××××××××××××××××××××××××××
// 数组件申明
private JTree jtNetDevice;
// 滚动面板申明
private JScrollPane jspTree;
1、初始化
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("root");
jtNetDevice = new JTree(rootNode);
jtNetDevice.setAutoscrolls(true);
getTreeSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);// 设置单选模式
jspTree = new JScrollPane();
jspTree.getViewport().add(jtNetDevice, null);
2、三个经常使用的取值函数
private DefaultTreeModel getTreeModel(){
return (DefaultTreeModel)jtNetDevice.getModel();
}
private DefaultMutableTreeNode getRootNode(){
return (DefaultMutableTreeNode)getTreeModel().getRoot();
}
private TreeSelectionModel getTreeSelectionModel(){
return jtNetDevice.getSelectionModel();
}
3、根据node得到path:
TreePath visiblePath = new TreePath(getTreeModel().getPathToRoot(node));
4、根据Path展开到该节点
jtNetDevice.makeVisible(visiblePath);
5、根据path设定该节点选定
jtNetDevice.setSelectionPath(visiblePath);
6、选中节点的方法
首先,根据节点得到树路径,其中chosen为需要选中的节点
TreePath visiblePath = new TreePath( ( (DefaultTreeModel) jtNetDevice.getModel()).getPathToRoot(chosen));
然后根据Path选中该节点
jtNetDevice.setSelectionPath(visiblePath);
7、滚动到可见位置
jtNetDevice.scrollPathToVisible(visiblePath);
8、给JTree添加右键弹出菜单
void jtNetDevice_mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
jPopupMenu1.show(e.getComponent(), e.getX(), e.getY());//弹出右键菜单
}
}
9、关于JTree的展开
// If expand is true, expands all nodes in the tree.
// Otherwise, collapses all nodes in the tree.
public void expandAll(JTree tree, boolean expand) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
// Traverse tree from root
expandAll(tree, new TreePath(root), expand);
}
private void expandAll(JTree tree, TreePath parent, boolean expand) {
// Traverse children
TreeNode node = (TreeNode)parent.getLastPathComponent();
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
TreePath path = parent.pathByAddingChild(n);
expandAll(tree, path, expand);
}
}
// Expansion or collapse must be done bottom-up
if (expand) {
tree.expandPath(parent);
} else {
tree.collapsePath(parent);
}
}
10、如何遍历JTree
// 创建树
JTree tree = new JTree();
// 添加树节点......
// 遍历所有节点
visitAllNodes(tree);
// 仅遍历展开的节点
visitAllExpandedNodes(tree);
// Traverse all nodes in tree
public void visitAllNodes(JTree tree) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
visitAllNodes(root);
}
public void visitAllNodes(TreeNode node) {
// node is visited exactly once
process(node);
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
visitAllNodes(n);
}
}
}
// Traverse all expanded nodes in tree
public void visitAllExpandedNodes(JTree tree) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
visitAllExpandedNodes(tree, new TreePath(root));
}
public void visitAllExpandedNodes(JTree tree, TreePath parent) {
// Return if node is not expanded
if (!tree.isVisible(parent)) {
return;
}
// node is visible and is visited exactly once
TreeNode node = (TreeNode)parent.getLastPathComponent();
process(node);
// Visit all children
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
TreePath path = parent.pathByAddingChild(n);
visitAllExpandedNodes(tree, path);
}
}
}
二、Swing组件---JTree
××××××××××××××××××××××××××××××××××××××××××××××
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class JTreeDemo {
public static void main(String[] args) {
// 构造函数:JTree()
JTree example1 = new JTree();
// 构造函数:JTree(Object[] value)
Object[] letters = { "a", "b", "c", "d", "e" };
JTree example2 = new JTree(letters);
// 构造函数:JTree(TreeNode root)(TreeNode空)
// 用空结点创建树
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode();// 定义树结点
JTree example3 = new JTree(node1);// 用此树结点做参数调用 JTree的构造函数创建含有一个根结点的树
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 用一个根结点创建树
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Color");
JTree example4 = new JTree(node2);// 结点不可以颜色,默认为白面黑字
example4.setBackground(Color.lightGray);
// 构造函数:JTree(TreeNode root, boolean
// asksAllowsChildren)(同上,只是TreeNode又有不同)
// 使用DefaultMutableTreeNode类先用一个根结点创建树,设置为可添加孩子结点,再添加孩子结点
DefaultMutableTreeNode color = new DefaultMutableTreeNode("Color", true);
DefaultMutableTreeNode gray = new DefaultMutableTreeNode("Gray");
color.add(gray);
color.add(new DefaultMutableTreeNode("Red"));
gray.add(new DefaultMutableTreeNode("Lightgray"));
gray.add(new DefaultMutableTreeNode("Darkgray"));
color.add(new DefaultMutableTreeNode("Green"));
JTree example5 = new JTree(color);
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 通过逐个添加结点创建树
DefaultMutableTreeNode biology = new DefaultMutableTreeNode("Biology");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode("Animal");
DefaultMutableTreeNode mammal = new DefaultMutableTreeNode("Mammal");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode("Horse");
mammal.add(horse);
animal.add(mammal);
biology.add(animal);
JTree example6 = new JTree(biology);
horse.isLeaf();// if this node allows children.
horse.isRoot();// true if this node is the root of its tree
// 构造函数:JTree(TreeModel newModel)
// 用DefaultMutableTreeNodel类定义一个结点再用这个结点做参数定义一个用DefaultTreeMode
// 创建一个树的模型,再用JTree的构造函数创建一个树
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root1");
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("Child1");
DefaultMutableTreeNode child11 = new DefaultMutableTreeNode("Child11");
DefaultMutableTreeNode child111 = new DefaultMutableTreeNode("Child111");
DefaultMutableTreeNode child1111 = new DefaultMutableTreeNode(
"Child1111");
root.add(child1);
child1.add(child11);
child11.add(child111);
child111.add(child1111);
DefaultTreeModel model = new DefaultTreeModel(root);
JTree example7 = new JTree(model);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setPreferredSize(new Dimension(700, 400));
panel.add(new JScrollPane(example1));// JTree必须放在JScrollPane上
panel.add(new JScrollPane(example2));
panel.add(new JScrollPane(example3));
panel.add(new JScrollPane(example4));
panel.add(new JScrollPane(example5));
panel.add(new JScrollPane(example6));
panel.add(new JScrollPane(example7));
JFrame frame = new JFrame("JTreeDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.show();
}
}
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class JTreeDemo {
public static void main(String[] args) {
// 构造函数:JTree()
JTree example1 = new JTree();
// 构造函数:JTree(Object[] value)
Object[] letters = { " a ", " b ", " c ", " d ", " e " };
JTree example2 = new JTree(letters);
// 构造函数:JTree(TreeNode root)(TreeNode空)
// 用空结点创建树
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(); // 定义树结点
JTree example3 = new JTree(node1); // 用此树结点做参数调用 JTree的构造函数创建含有一个根结点的树
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 用一个根结点创建树
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode(" Color ");
// 结点不可以颜色,默认为白面黑字
JTree example4 = new JTree(node2);
example4.setBackground(Color.lightGray);
// 构造函数:JTree(TreeNode root, boolean
// asksAllowsChildren)(同上,只是TreeNode又有不同)
// 使用DefaultMutableTreeNode类先用一个根结点创建树,设置为可添加孩子结点,再添加孩子结点
DefaultMutableTreeNode color = new DefaultMutableTreeNode(" Color ", true);
DefaultMutableTreeNode gray = new DefaultMutableTreeNode(" Gray ");
color.add(gray);
color.add(new DefaultMutableTreeNode(" Red "));
gray.add(new DefaultMutableTreeNode(" Lightgray "));
gray.add(new DefaultMutableTreeNode(" Darkgray "));
color.add(new DefaultMutableTreeNode(" Green "));
JTree example5 = new JTree(color);
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 通过逐个添加结点创建树
DefaultMutableTreeNode biology = new DefaultMutableTreeNode(" Biology ");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode(" Animal ");
DefaultMutableTreeNode mammal = new DefaultMutableTreeNode(" Mammal ");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode(" Horse ");
mammal.add(horse);
animal.add(mammal);
biology.add(animal);
JTree example6 = new JTree(biology);
horse.isLeaf();
horse.isRoot();
// 构造函数:JTree(TreeModel newModel)
// 用DefaultMutableTreeNodel类定义一个结点再用这个结点做参数定义一个用DefaultTreeMode
// 创建一个树的模型,再用JTree的构造函数创建一个树
DefaultMutableTreeNode root = new DefaultMutableTreeNode(" Root1 ");
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode(" Child1 ");
DefaultMutableTreeNode child11 = new DefaultMutableTreeNode(" Child11 ");
DefaultMutableTreeNode child111 = new DefaultMutableTreeNode(" Child111 ");
root.add(child1);
child1.add(child11);
child11.add(child111);
DefaultTreeModel model = new DefaultTreeModel(root);
JTree example7 = new JTree(model);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setPreferredSize(new Dimension(700, 400));
panel.add(new JScrollPane(example1)); // JTree必须放在JScrollPane上
panel.add(new JScrollPane(example2));
panel.add(new JScrollPane(example3));
panel.add(new JScrollPane(example4));
panel.add(new JScrollPane(example5));
panel.add(new JScrollPane(example6));
panel.add(new JScrollPane(example7));
JFrame frame = new JFrame(" JTreeDemo ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.show();
}
}
××××××××××××××××××××××××××××××××××××××××××××××
// 数组件申明
private JTree jtNetDevice;
// 滚动面板申明
private JScrollPane jspTree;
1、初始化
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("root");
jtNetDevice = new JTree(rootNode);
jtNetDevice.setAutoscrolls(true);
getTreeSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);// 设置单选模式
jspTree = new JScrollPane();
jspTree.getViewport().add(jtNetDevice, null);
2、三个经常使用的取值函数
private DefaultTreeModel getTreeModel(){
return (DefaultTreeModel)jtNetDevice.getModel();
}
private DefaultMutableTreeNode getRootNode(){
return (DefaultMutableTreeNode)getTreeModel().getRoot();
}
private TreeSelectionModel getTreeSelectionModel(){
return jtNetDevice.getSelectionModel();
}
3、根据node得到path:
TreePath visiblePath = new TreePath(getTreeModel().getPathToRoot(node));
4、根据Path展开到该节点
jtNetDevice.makeVisible(visiblePath);
5、根据path设定该节点选定
jtNetDevice.setSelectionPath(visiblePath);
6、选中节点的方法
首先,根据节点得到树路径,其中chosen为需要选中的节点
TreePath visiblePath = new TreePath( ( (DefaultTreeModel) jtNetDevice.getModel()).getPathToRoot(chosen));
然后根据Path选中该节点
jtNetDevice.setSelectionPath(visiblePath);
7、滚动到可见位置
jtNetDevice.scrollPathToVisible(visiblePath);
8、给JTree添加右键弹出菜单
void jtNetDevice_mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
jPopupMenu1.show(e.getComponent(), e.getX(), e.getY());//弹出右键菜单
}
}
9、关于JTree的展开
// If expand is true, expands all nodes in the tree.
// Otherwise, collapses all nodes in the tree.
public void expandAll(JTree tree, boolean expand) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
// Traverse tree from root
expandAll(tree, new TreePath(root), expand);
}
private void expandAll(JTree tree, TreePath parent, boolean expand) {
// Traverse children
TreeNode node = (TreeNode)parent.getLastPathComponent();
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
TreePath path = parent.pathByAddingChild(n);
expandAll(tree, path, expand);
}
}
// Expansion or collapse must be done bottom-up
if (expand) {
tree.expandPath(parent);
} else {
tree.collapsePath(parent);
}
}
10、如何遍历JTree
// 创建树
JTree tree = new JTree();
// 添加树节点......
// 遍历所有节点
visitAllNodes(tree);
// 仅遍历展开的节点
visitAllExpandedNodes(tree);
// Traverse all nodes in tree
public void visitAllNodes(JTree tree) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
visitAllNodes(root);
}
public void visitAllNodes(TreeNode node) {
// node is visited exactly once
process(node);
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
visitAllNodes(n);
}
}
}
// Traverse all expanded nodes in tree
public void visitAllExpandedNodes(JTree tree) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
visitAllExpandedNodes(tree, new TreePath(root));
}
public void visitAllExpandedNodes(JTree tree, TreePath parent) {
// Return if node is not expanded
if (!tree.isVisible(parent)) {
return;
}
// node is visible and is visited exactly once
TreeNode node = (TreeNode)parent.getLastPathComponent();
process(node);
// Visit all children
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
TreePath path = parent.pathByAddingChild(n);
visitAllExpandedNodes(tree, path);
}
}
}
二、Swing组件---JTree
××××××××××××××××××××××××××××××××××××××××××××××
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class JTreeDemo {
public static void main(String[] args) {
// 构造函数:JTree()
JTree example1 = new JTree();
// 构造函数:JTree(Object[] value)
Object[] letters = { "a", "b", "c", "d", "e" };
JTree example2 = new JTree(letters);
// 构造函数:JTree(TreeNode root)(TreeNode空)
// 用空结点创建树
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode();// 定义树结点
JTree example3 = new JTree(node1);// 用此树结点做参数调用 JTree的构造函数创建含有一个根结点的树
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 用一个根结点创建树
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Color");
JTree example4 = new JTree(node2);// 结点不可以颜色,默认为白面黑字
example4.setBackground(Color.lightGray);
// 构造函数:JTree(TreeNode root, boolean
// asksAllowsChildren)(同上,只是TreeNode又有不同)
// 使用DefaultMutableTreeNode类先用一个根结点创建树,设置为可添加孩子结点,再添加孩子结点
DefaultMutableTreeNode color = new DefaultMutableTreeNode("Color", true);
DefaultMutableTreeNode gray = new DefaultMutableTreeNode("Gray");
color.add(gray);
color.add(new DefaultMutableTreeNode("Red"));
gray.add(new DefaultMutableTreeNode("Lightgray"));
gray.add(new DefaultMutableTreeNode("Darkgray"));
color.add(new DefaultMutableTreeNode("Green"));
JTree example5 = new JTree(color);
// 构造函数:JTree(TreeNode root)(同上,只是TreeNode非空)
// 通过逐个添加结点创建树
DefaultMutableTreeNode biology = new DefaultMutableTreeNode("Biology");
DefaultMutableTreeNode animal = new DefaultMutableTreeNode("Animal");
DefaultMutableTreeNode mammal = new DefaultMutableTreeNode("Mammal");
DefaultMutableTreeNode horse = new DefaultMutableTreeNode("Horse");
mammal.add(horse);
animal.add(mammal);
biology.add(animal);
JTree example6 = new JTree(biology);
horse.isLeaf();// if this node allows children.
horse.isRoot();// true if this node is the root of its tree
// 构造函数:JTree(TreeModel newModel)
// 用DefaultMutableTreeNodel类定义一个结点再用这个结点做参数定义一个用DefaultTreeMode
// 创建一个树的模型,再用JTree的构造函数创建一个树
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root1");
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("Child1");
DefaultMutableTreeNode child11 = new DefaultMutableTreeNode("Child11");
DefaultMutableTreeNode child111 = new DefaultMutableTreeNode("Child111");
DefaultMutableTreeNode child1111 = new DefaultMutableTreeNode(
"Child1111");
root.add(child1);
child1.add(child11);
child11.add(child111);
child111.add(child1111);
DefaultTreeModel model = new DefaultTreeModel(root);
JTree example7 = new JTree(model);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setPreferredSize(new Dimension(700, 400));
panel.add(new JScrollPane(example1));// JTree必须放在JScrollPane上
panel.add(new JScrollPane(example2));
panel.add(new JScrollPane(example3));
panel.add(new JScrollPane(example4));
panel.add(new JScrollPane(example5));
panel.add(new JScrollPane(example6));
panel.add(new JScrollPane(example7));
JFrame frame = new JFrame("JTreeDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.show();
}
}
发表评论
-
Java中HashMap的用法
2012-04-10 11:31 1098import java.util.Map; import ... -
Eclipse-jee-galileo的简单应用配置(包含Tomcat)
2012-03-23 17:43 1首先:下载 JDK 6,Eclip ... -
JDK官方下载
2011-11-27 22:54 860JDK1.6官方下载_JDK6官方下载地址:http:// ... -
使用Servlet Filter来防止SQL注入的方法
2010-08-28 14:29 1826SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的B ... -
避免XPath 注入的危险
2010-08-28 14:27 1472随着简单 XML API、Web 服 ... -
Xpath注入攻击及其防御技术研究
2010-08-28 14:25 13851 Xpath注入攻击概述 1.1 Xpath定义 近 ... -
突破SQL注入限制的一点想法
2010-08-28 14:19 1056突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察 ... -
JPanel上设置背景图片
2010-08-28 14:12 1501import java.awt.*; import javax ... -
通过Java Swing看透MVC设计模式
2010-08-28 14:11 967一个好的用户界面(GUI) ... -
JTabbedPanel的美化标签
2010-08-28 14:09 4542么现在来说下用法吧,首先附上网上找来的一段代码(其实在csdn ... -
jtree 默认展开树的全部节点
2010-08-28 14:06 5693public static void expandTr ... -
jTree 背景图片.节点颜色
2010-08-28 14:05 1616import java.awt.*; import java. ... -
Swing-JTree树模型的操作
2010-08-28 14:03 2394本文介绍Java Swing中的JTree模型,介绍如何创建、 ... -
常用的数据库连接写法和下载地址
2010-08-28 14:01 8871. MySQL(http://www.mysql.com)m ... -
java中常见的日期时间类
2010-08-28 13:20 820java中常见的日期时间类 以及时间转换 java中常见的 ... -
计算任意2个日期内的工作日(没有考虑到国定假日
2010-08-28 13:08 1101主要思路: 对于任意2个日期比如:date_start=20 ... -
Java获取各种常用时间方法
2010-08-28 13:07 746http://gigixin.iteye.com/blog/4 ... -
计算从beginDate到endDate的工作日
2010-08-28 13:06 1495public static int[] work_rest_a ... -
Java时间格式转换大全
2010-08-28 13:05 554import java.text.*; import java ... -
JAVA计划任务 定时器
2010-08-28 12:57 1414所有类型的 Java 应用程序一般都需要计划重复执行的任务。企 ...
相关推荐
JTree用法及JTree使用经验总结(吐血推荐) 1、初始化 2、三个经常使用的取值函数 3、根据node得到path:4、根据Path展开到该节点 5、根据path设定该节点选定 6、选中节点的方法 7、滚动到可见位置 8、给JTree添加右键...
### JTree用法详解:Swing中的树状结构控件 在Java Swing中,`JTree`是一个非常重要的组件,用于展示层次结构的数据,如文件系统、组织结构图等。本文将详细介绍`JTree`的各种使用方法,包括如何创建、自定义外观、...
### 如何使用JTree:详解与实践 #### JTree简介 `JTree`是Java Swing中的一个组件,用于展示层次化的数据结构。它允许用户在应用程序中构建树形视图来表示目录结构、组织结构图等。`JTree`继承自`JComponent`类,...
### JTree的用法详解 #### 一、引言 `JTree` 是 Java Swing 库中的一个重要组件,用于在图形用户界面 ...对于初学者来说,掌握 `JTree` 的基本使用方法是非常重要的,这有助于更好地理解 Java Swing 框架的高级特性。
Java Swing中的JTree组件是用来展示层次结构数据的可视...在设计和实现时,理解TreeNode接口和DefaultMutableTreeNode类的用法,以及如何利用JTree的各种构造函数和监听器,对于创建高效、灵活的图形用户界面至关重要。
### Java组件之JTree使用详解 #### 一、引言 `JTree`是Java Swing中的一个重要组件,用于展示层次化的数据结构。它提供了一种直观的方式来表示具有...掌握`JTree`的使用方法对于开发高效的桌面应用程序非常有帮助。
在Java Swing库中,JTree组件是一个非常有用的可视化控件,用于展示层次化的数据结构,如文件系统目录或组织结构图。...文档“如何使用Trees.doc”应该提供了更深入的细节和示例代码,帮助你进一步掌握JTree的用法。
在Java中,`JTree`通常与`DefaultMutableTreeNode`和`TreeModel`一起使用。`DefaultMutableTreeNode`是`TreeNode`的实现,允许添加、移除和改变子节点。`TreeModel`是树数据模型接口,用于管理树的结构和数据。 ```...
这些代码可能涵盖了更复杂的功能,比如自定义渲染器、拖放操作、数据绑定等,学习这些代码可以帮助开发者更好地理解和应用JTree和JTable在实际项目中的各种用法。 总之,JTree和JTable是Java GUI编程中不可或缺的...
通过本篇介绍,我们不仅了解了如何使用 `JTree` 的基本构造方法来创建树形结构,还学习了如何使用 `Hashtable` 来组织数据以及如何展示这些数据。此外,我们还简要探讨了 `JTree` 的一些高级特性,如自定义渲染器、...
**JTree 深度解析** `JTree` 是Java Swing库中的一个重要组件,它用于在用户界面中显示树状数据结构。...理解其核心概念、特性和使用方法,可以帮助开发者更好地设计和实现具有动态更新和交互功能的应用程序。
总结来说,`JTree`控件在Java Swing中用于创建和管理树形数据视图,提供了丰富的构造方法、数据模型、渲染器和事件监听机制,使得开发者可以灵活地构建和定制树结构,以满足各种用户界面的需求。在实际开发中,利用...
在Java编程中,理解和掌握`JTree`的使用方法对于创建具有用户友好界面的应用程序至关重要。`jenkov-prizetags-doc-3.4.0.zip`压缩包提供的JTree Doc文档是开发者学习和查阅`JTree`功能的重要参考资料。 **Javadoc...
然而,这里的"JTree"特指一个使用纯JavaScript编写的树形控件。它提供了与Java JTree类似的功能,但适用于Web环境,无需服务器端Java支持。 2. **JavaScript基础**: JavaScript是一种客户端脚本语言,用于增强...
本项目是关于如何在Java应用程序中结合使用这两种组件的一个示例,特别强调了如何将`JTree`的节点内容动态地显示到`JTable`中。 首先,我们来看`JTree`。`JTree`是用来展示树状数据结构的组件,如文件系统目录结构...
接着,我们可以使用JTree类的实例化方法,将创建的树模型传递给JTree对象,完成树的构造。为了响应用户的交互,如节点的点击或展开,我们需要添加TreeSelectionListener,这样当用户选择某个节点时,可以触发相应的...
你可以下载相关文档,深入了解`JTree2.0`的具体用法和最佳实践。 在实际项目中,`JTree`常用于文件系统浏览、数据库结构展示、组织结构图等场景。通过熟练掌握`JTree2.0`,你可以创建出功能强大且用户友好的图形...
你可以使用DefaultTreeCellRenderer的子类,并覆盖`getTreeCellRendererComponent`方法,以便在其中添加图片。 ```java public class ImageTreeCellRenderer extends DefaultTreeCellRenderer { @Override public...
本文将总结JTree的一些常用方法,并通过实例来演示如何使用这些方法,为初学者提供学习参考。 1. JTree组件常用方法 JTree组件提供了多种方法来实现用户界面的定制和树形数据的管理,以下是一些常用的方法: - `...