`
haitian235
  • 浏览: 63049 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论

swing tree 树形条的实现

阅读更多

import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.*;
import java.awt.*;
import java.awt.event.*;


public class Tree extends JFrame implements TreeSelectionListener {
    private JLabel label;
    public Tree()
    {
    super("树形菜单");setSize(400,400);
    Container container=getContentPane();
   
    DefaultMutableTreeNode rooTreeNode=new DefaultMutableTreeNode("文本编辑器");
    DefaultMutableTreeNode node1=new DefaultMutableTreeNode("文件");
    DefaultMutableTreeNode node2=new DefaultMutableTreeNode("编辑");
   
    DefaultTreeModel treeModel=new DefaultTreeModel(rooTreeNode);
    treeModel.insertNodeInto(node1, rooTreeNode, rooTreeNode.getChildCount());
    treeModel.insertNodeInto(node2, rooTreeNode, rooTreeNode.getChildCount());
   
    DefaultMutableTreeNode leafnode=new DefaultMutableTreeNode("打开");
    treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
    leafnode=new DefaultMutableTreeNode("保存");
    treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
    leafnode=new DefaultMutableTreeNode("另存为");
    treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
    leafnode=new DefaultMutableTreeNode("关闭");
    treeModel.insertNodeInto(leafnode, node1, node1.getChildCount());
 
    leafnode=new DefaultMutableTreeNode("剪切");
    treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
    leafnode=new DefaultMutableTreeNode("复制");
    treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
    leafnode=new DefaultMutableTreeNode("粘贴");
    treeModel.insertNodeInto(leafnode, node2, node2.getChildCount());
   
    JTree tree=new JTree(treeModel);
    // tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SIN)
    tree.addTreeSelectionListener(this);
    tree.setRowHeight(20);
   
   /* DefaultTreeCellRenderer cellRenderer=(DefaultTreeCellRenderer)tree.getCellRenderer();
    cellRenderer.setFont(new Font("Serif",Font.PLAIN,14));
    cellRenderer.setBackgroundSelectionColor(Color.white);
    cellRenderer.setBackgroundNonSelectionColor(Color.yellow);
    cellRenderer.setBorderSelectionColor(Color.blue);*/
    container.add(new JScrollPane(tree));
   
    label=new JLabel("你当前所选的节点为:",JLabel.CENTER);
    label.setFont(new Font("Serif",Font.PLAIN,14));
    container.add(label,BorderLayout.SOUTH);
   
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
public void valueChanged(TreeSelectionEvent arg0)
{
// TODO Auto-generated method stub
JTree tree=(JTree)arg0.getSource();
DefaultMutableTreeNode selectionNode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
String nodename=selectionNode.toString();
label.setText("您当权选取的节点为:"+nodename);
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Tree d=new Tree();
}
}
分享到:
评论

相关推荐

    java swing tree树的懒加载

    在Swing中,`JTree`组件是用于显示和操作树形数据结构的控件。当我们处理大量数据时,一次性加载所有节点可能会导致性能问题,这时就需要用到“懒加载”(Lazy Loading)技术。 懒加载是一种优化策略,它只在需要时...

    swing实现树形结构示例2枚

    以上就是关于Swing实现树形结构的一些核心知识点,具体的实现细节将依赖于`TreeMenu.java`和`TreeMenu2.java`的源代码内容。这两个示例文件可能包含了如何创建、操作和显示树形结构的各种示例,对于理解和学习Swing...

    基于JAVA的Tree树形菜单管理系统源代码

    本项目“基于JAVA的Tree树形菜单管理系统源代码”提供了一个实现这种功能的实例,展示了如何利用Java语言来创建一个美观且易用的树形菜单系统。 在Java中,树形控件的实现主要依赖于Java Swing库,特别是`javax....

    TreeTableJava实现树形结构表格

    treeTable是跨浏览器、性能很高的jquery的树表组件,它使用非常简单,只需要引用jquery库和一个js文件,接口也很简单。 优点 兼容主流浏览器: 支持IE6和IE6+, Firefox, chrome, Opera, Safari 接口简洁: 在普通...

    java Swing带复选框的树

    在Swing中,我们可以创建各种用户界面元素,如按钮、文本框、面板等,其中包括树形视图(JTree)。在描述中提到的“java Swing带复选框的树”,即在JTree的基础上增加了复选框功能,允许用户对树结构中的节点进行...

    关于树形菜单的实现 java

    Java的Swing库提供了丰富的功能,使得在各种应用程序中实现树形菜单变得简单且灵活。不过,这只是一个基础的实现,实际应用中可能还需要处理更复杂的逻辑,例如加载异步数据、支持拖放操作等。在实践中,不断学习和...

    java动态树形(tree)

    在Swing中,`javax.swing.tree`包提供了`JTree`组件,用于在GUI中展示树形数据。`JTree`可以自定义节点渲染、监听节点事件等。对于JavaFX,`TreeView`类是构建树形结构的主要工具,支持更多的现代UI特性。 2. **JSP...

    java中tree的实现

    除了基本的实现,Java中还有`java.awt.Tree`和`javax.swing.JTree`,这两个类主要用于图形用户界面(GUI)中展示树形结构,如文件系统目录树。它们提供了丰富的事件处理和可视化定制功能。 在实际开发中,选择哪种...

    Swing展示的文件系统树

    在"Swing展示的文件系统树"这个主题中,我们将深入探讨如何使用`JTree`来创建一个动态显示文件系统的视图。 首先,`JTree`是`javax.swing`包的一部分,它继承自`JComponent`,并实现了`Scrollable`接口,因此可以...

    java动态树形菜单与分页

    在Java中,我们可以使用Java Swing或JavaFX库来创建桌面应用的树形菜单,而在Web应用中,通常会借助于JavaScript库如jQuery UI或JSTree,并通过Ajax与后端服务器进行交互,实现数据的动态加载。后端服务器(通常基于...

    java树形控件实现代码

    Java树形控件,通常指的是Java Swing或JavaFX中的JTree组件,它是用户界面中用于显示数据层次结构的可视化工具。在Java编程中,树形控件被广泛应用于表示文件系统、组织结构或其他具有层级关系的数据。下面我们将...

    swing复选框树

    在Java Swing库中,"复选框树"(Checkbox Tree)是一种可视化的组件,它将树形结构的数据与复选框结合,用户可以选择或取消选择树中的节点。这个组件非常适合于展示具有层次关系且需要多选操作的数据。下面我们将...

    Java Tree的几种开源组件

    在Java编程语言中,"Tree"通常指的是树形数据结构的实现,这在软件开发中具有广泛的应用。本文将深入探讨几种开源的Java Tree组件,它们可以帮助开发者高效地处理和展示树状数据。 1. **JTree(Java Swing组件)** ...

    swing中Tree与滚动条用法实例分析

    `JTree`是Swing提供的用于显示树形结构数据的组件。在示例中,我们首先创建了一个`DefaultMutableTreeNode`对象`top`作为树的根节点,然后添加了其他子节点。`DefaultMutableTreeNode`是一个可变的树节点,允许添加...

    Swing样式大全(全56种经典)

    8. 树形视图(JTree):用于展示层次结构的数据,如文件系统目录结构。 9. 滚动面板(JScrollPane):用于包含可能超出屏幕范围的组件,如大表格或长文本区域。 10. 综合布局管理:Swing提供了多种布局管理器,如...

    带复选框的多级目录树,复选框的选择控制子节点父节点 全选和反选

    在前端实现中,通常使用JSON对象来存储树形数据,每个节点包含一个标识符(ID)、名称、以及指向子节点的引用。展示时,可以通过递归函数将这些数据转化为可交互的HTML元素。 3. **全选和反选(Select All and ...

    java 实现动态改变树形结构中主节点的名称

    根据提供的文件信息,我们可以分析并总结出以下关于“Java实现动态改变树形结构中主节点的名称”的相关知识点: ### 一、理解树形结构 在计算机科学中,树形结构是一种常用的数据组织形式,它将数据组织成类似于树...

    java-根据过滤条件显示树形结构

    4. **树视图(TreeView)**:在Java Swing或JavaFX中,可以使用JTree或TreeView组件来展示树形结构。这些组件提供了API来添加、删除和更新节点,以及设置显示样式。 具体实现步骤如下: 1. **构建树结构**:首先,...

    用javaSwing设计的树框架

    在Java Swing中,`JTree`是表示树形数据的组件。它能够显示一个可扩展的节点结构,这些节点可以代表文件、目录、数据库记录或其他任何层次结构的数据。`JTree`通常结合`DefaultMutableTreeNode`类来使用,后者是树...

    精通java-swing开发.doc

    - `javax.swing.tree`:与`JTree`组件相关的类,用于展示和操作树形数据结构。 - `javax.swing.undo`:提供了撤销/重做功能的支持,常用于文本编辑组件。 Swing的版面结构是构建GUI布局的关键。它允许开发者通过...

Global site tag (gtag.js) - Google Analytics