//以前从网上找到的,别人的成果。
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import javax.swing.tree.*;
import java.awt.event.*;
public class TreeWindow extends JFrame implements TreeSelectionListener {
JSplitPane jsp = new JSplitPane();
JScrollPane jop = new JScrollPane();
WelcomePane wp = new WelcomePane();
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("本地系统处理模块");
JTree jt = new JTree();
TreeWindow() {
super("流行的Tree窗口示例");
setSize(600, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add(jsp);
jsp.setLeftComponent(jop);
jsp.setRightComponent(wp);
jop.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jop.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jop.getViewport().setView(jt);
// jsp.add(jt);
initTree();
jt.expandRow(0);
jt.expandRow(1);
jt.expandRow(6);
jt.addTreeSelectionListener(this);
setVisible(true);
}
void initTree() {
DefaultMutableTreeNode childNode1 = new DefaultMutableTreeNode("项目监视");
rootNode.add(childNode1);
DefaultMutableTreeNode childNode2 = new DefaultMutableTreeNode("项目计划");
// rootNode.add(childNode2);
childNode1.add(childNode2);
childNode2 = new DefaultMutableTreeNode("项目核定");
childNode1.add(childNode2);
childNode2 = new DefaultMutableTreeNode("每日巡视");
childNode1.add(childNode2);
childNode2 = new DefaultMutableTreeNode("进展汇报");
childNode1.add(childNode2);
//
childNode1 = new DefaultMutableTreeNode("项目核算");
rootNode.add(childNode1);
childNode2 = new DefaultMutableTreeNode("成本录入");
childNode1.add(childNode2);
childNode2 = new DefaultMutableTreeNode("成本复核");
childNode1.add(childNode2);
childNode2 = new DefaultMutableTreeNode("帐目阅览");
childNode1.add(childNode2);
}
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) jt.getLastSelectedPathComponent();
if (selectedNode.toString() == "项目计划") {
PlanPane pp = new PlanPane();
jsp.setRightComponent(pp);
} else if (selectedNode.toString() == "项目核定") {
PlanCheck pc = new PlanCheck();
jsp.setRightComponent(pc);
}
}
public static void main(String[] args) {
TreeWindow tw = new TreeWindow();
}
}
class WelcomePane extends JPanel {
JLabel jl = new JLabel("生产项目管理系统");
WelcomePane() {
add(jl);
}
}
class PlanPane extends JPanel implements ActionListener {
JButton jb = new JButton("项目计划");
PlanPane() {
jb.addActionListener(this);
add(jb);
}
public void actionPerformed(ActionEvent ed) {
if (ed.getSource() == jb)
System.out.println("项目计划按纽被单击");
}
}
class PlanCheck extends JPanel implements ActionListener
{
JButton jb = new JButton("项目核定");
PlanCheck() {
jb.addActionListener(this);
add(jb);
}
public void actionPerformed(ActionEvent eg) {
if (eg.getSource() == jb)
System.out.println("项目核定按纽被单击");
}
}
分享到:
相关推荐
这个例子展示了如何实现一个可拖动节点的`JTree`,这在用户界面设计中是一个常见且实用的功能,特别是在需要展示层次结构信息时。`JTree`允许用户通过拖放操作来重新排列节点,提高交互性和用户体验。 拖放(Drag ...
#### (六) 功能齐全的JTree例子 **TreeEditTest.java源代码**:示例代码展示了如何使用JTree进行复杂的树结构操作,包括编辑、添加、删除等。 #### (七) JTree控件的使用 **构造函数**:提供了不同的构造函数用于...
jtree , 经典教程,jtree 例子 ,很适合初学者,和急需使用的读者,一看就会
这个例子展示了如何创建一个基本的`JTree`并将其添加到`JFrame`中。`JScrollPane`的使用是为了能够滚动显示可能过大的树结构。 ##### 示例2:使用`Hashtable`创建`JTree` ```java public class TreeDemo1 { ...
"jtree带复选框的例子"是一个关于如何在JTree中实现节点选择功能的示例,其中每个节点都有一个复选框供用户进行选择。这种功能在需要用户对树形结构数据进行多选操作的场景下非常实用。 在这个例子中,关键的特性是...
本篇将详细讲解`JTree`的相关知识点,并通过实际例子进行练习。 首先,我们要了解`JTree`的基本概念。它是Java Swing库的一部分,用于构建用户界面,它允许用户通过节点和子节点的关系来查看和操作数据。每个节点都...
在这个例子中,我们创建了一个DefaultTableModel,填充了数据并将其关联到JTable。然后,我们将JTable放入一个JScrollPane中,这样当表格内容超出视口时,用户可以通过滚动查看所有数据。 通过jtble和tree这两个...
这个例子可能包含一个`JTree`,其中每个节点代表一个文件或目录,展开节点可以查看其子目录或文件。 接着,我们讨论`JTable`。`JTable`是一个用于展示和编辑表格数据的组件。它使用`TableModel`接口来获取和设置...
在这个例子中,我们创建了多个`Hashtable`对象来模拟多层节点,并通过`JTree`的构造函数传递给`JTree`。这样可以构建出一个具有多级结构的树形视图。 #### 四、其他操作 除了以上的基本用法外,`JTree`还支持许多...
Jtree的使用例子 这是类似qq的节点例子 帮助我们是简单地编码
在这个例子中,我们创建了一个根节点,并添加了两个子节点。然后,我们使用这个模型实例化了JTree。 为了让JTree显示在GUI中,我们需要将其添加到容器,如JScrollPane: ```java JScrollPane scrollPane = new ...
在例子中,使用了`FlowLayout`布局管理器将`JTree`添加到窗口中。 3. **节点的选中和信息获取**: JTree允许用户选择特定的节点。当用户选择节点时,可以通过监听`TreeSelectionListener`事件来获取选中的节点信息...
**JTree2.0** 是一个Java Swing组件,主要用于在图形用户界面中展示层次结构的数据。这个组件在GUI应用中非常常见,特别是在文件系统管理、组织结构展示或树形菜单等场景下。JTree2.0相较于早期版本可能提供了一些...
在这个例子中,我们创建了一个树,并将其显示出来。我们使用 IconNodeRenderer 来自定义树的节点,包括节点的图片和文本。这样,我们可以在树的节点中显示不同的图片和文本。 通过重写 DefaultTreeCellRenderer 类...
在这个例子中,我们创建了一个简单的两层树结构,并为每个叶子节点添加了复选框。`getTreeCellRendererComponent`方法重写用于根据节点类型(叶子节点或非叶子节点)返回不同的渲染组件。 此外,你可能还需要监听`...
这个例子创建了一个包含两个子节点的JTree,并将其放入滚动面板显示。 总之,JTree是Java Swing中一个强大的组件,它使得在图形用户界面中展示和操作树形数据变得简单直观。通过熟练掌握JTree的使用,开发者可以...
对jtree也实现了一个小例子. 想学习jqdatagrid的请下载,包您满意! 本人觉得网上提供jqdatagrid资料的都不如我这个全面实用.绝不是骗分的. 我弄明白jqdatagrid花了好多时间,就想帮助其他人节省时间!
在这个例子中,我们首先检查了拖放的数据是否是`TreePath[]`类型,然后从`Transferable`获取`TreePath`数组,表示被拖动的节点。接着,我们移除源节点并将其插入目标节点的位置,更新`JTree`的模型以反映这些变化。 ...
公司做了一个项目,由于JTREE面临着近40万的数据量。虽然初始化这些数据问题不大,但是把这个数据渲染到jtree出现的一些问题。于是我想到的网上说的动态加栽树结构的方法...例子我打包传到我的资源里面。需要的下
以下是一个简单的例子,展示了如何创建一个包含 "World" 作为根节点,并添加 "USA" 作为子节点的 JTree: ```java DefaultMutableTreeNode root = new DefaultMutableTreeNode("World"); DefaultMutableTreeNode ...