import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*; public class Root extends JFrame
{
//创建节点数组
DefaultMutableTreeNode[] dmtn={
new DefaultMutableTreeNode(new NodeValue("图书馆管理系统")),
new DefaultMutableTreeNode(new NodeValue("学生用户管理")),
new DefaultMutableTreeNode(new NodeValue("图书管理")),
new DefaultMutableTreeNode(new NodeValue("查询图书")),
new DefaultMutableTreeNode(new NodeValue("借阅预约图书")),
new DefaultMutableTreeNode(new NodeValue("归还挂失图书")),
new DefaultMutableTreeNode(new NodeValue("交纳罚款")),
new DefaultMutableTreeNode(new NodeValue("管理员管理")),
new DefaultMutableTreeNode(new NodeValue("退出"))
};
//创建树模型,指定根节点为“学生管理系统”
DefaultTreeModel dtm = new DefaultTreeModel(dmtn[0]);
JTree jt = new JTree(dtm);//创建包含dtm树模型的JTree对象
JScrollPane jsp=new JScrollPane(jt);//为JTree创建滚动窗体   private JSplitPane jsplr=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);//创建分割窗体对象
private JPanel jp=new JPanel();//创建JPanel对象   public Root() {
this.addTreeListener();//为树节点注册事件监听器
for (int i=1;i<9;i++)
{//向根节点添加子节点
dtm.insertNodeInto(dmtn[i],dmtn[0],i-1);
}
jt.setEditable(false);//设置该树中节点是可编辑的
this.add(jsplr);//将包含树的滚动窗口添加进窗体
jsplr.setLeftComponent(jt);//将包含树的滚动窗口添加进左边的子窗口
jp.setBounds(200,50,600,500);//为jp设置大小位置并添加进右边的子窗口
jsplr.setRightComponent(jp);
jsplr.setDividerLocation(200);//设置分隔条的初始位置
jsplr.setDividerSize(4);//设置分隔条的宽度
//设置窗体的关闭动作,标题,大小,位置及可见性
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗体首次出现的大小和位置--自动居中
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int centerX = screenSize.width/2;
int centerY = screenSize.height/2;
int w=600;//本窗体宽度
int h=400;//本窗体高度
this.setBounds(centerX-w/2,centerY-h/2-10,w,h);//设置窗体出现在屏幕中央 // this.setExtendedState(JFrame.MAXIMIZED_BOTH);//窗体全屏 this.setVisible(true);//设置窗体可见
jt.setShowsRootHandles(true);//设置显示根节点的控制图标
}   public static void main(String[] args) {
   // TODO Auto-generated method stub
   new Root();
}

java实现树型结构样式的更多相关文章

  1. java树型结构的数据展现设计

    在做一个需求管理的页面时,需求的展现是不限层级树型结构,需求下还可以分拆任务,页面要展现的字段有20多个,而且需求采用通用表单设计,db采用大宽表存储,有一百多个字段.目前数据量不大,第一版采用普通的 ...

  2. JSP中的一个树型结构

    看方力勋的javaWeb,采用左右值来表示树型结构(就是俺门的多级分类)表结构 页面代码 <%@ page language="java" import="java ...

  3. dzzoffice的树型结构用户管理设计

    在DzzOffice1.1的开发中,针对用户使用群体重新设计了,机构.部门.用户管理应用. 传统OA,企业相关程序,一般是设置机构-设置部门-设置职位-添加用户这样的步骤.每个步骤分为不同的管理界面. ...

  4. java集合树状结构及源码

    java集合树状结构及源码 最近一直想看一下java集合的源码,毕竟平时用的比较多,但总是感觉是跟着习惯new出来一个对象,比如ArrayList,HashMap等等,所以就简单的看了一下,了解了一下 ...

  5. 20-Ubuntu-文件和目录命令-查看目录树型结构-tree

    tree 以树状图列出当前目录下的文件目录结构 选项 含义 -d 只显示当前目录的子目录树型结构   显示当前目录的子目录和文件树型结构 例: 1.查看文档目录下的子目录和文件树型结构 2.查看文档目 ...

  6. Delphi实现树型结构

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  7. SQL Server 通过“with as”方法查询树型结构

    一.with as 公用表表达式 类似VIEW,但是不并没有创建对象,WITH  AS 公用表表达式不创建对象,只能被后随的SELECT语句,其作用: 1. 实现递归查询(树形结构) 2. 可以在一个 ...

  8. Delphi实现树型结构具体实例

    unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

  9. web api+递归树型结构

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

随机推荐

  1. @ResponseBody注解与JSON

    MappingJacksonHttpMessageConverter 调用了 objectMapper.writeValue(OutputStream stream, Object)方法,使用@Res ...

  2. webAPI---发布(IIS)--发布遇到问题(500.19,500.21,404.8,404.3)

    WebAPI的内容部分直接转自官方文档,英语水平有限,不做翻译, 发布网站在本文的后半部分 HTTP is not just for serving up web pages. It is also ...

  3. php获取url字符串截取路径的文件名和扩展名

    <?php //获取连接里边的id $url = 'http://www.rong123.com/cjbkscbsd/x_dfsdfs/24454_1_1.html'; function get ...

  4. SQLite模糊查找(like)

    select UserId,UserName,Name,Sex,Birthday,Height,Weight,Role from xqhit_Users where UserName like &qu ...

  5. Aa3.0 事件机制

    说明:本文由多处网络文章整理而成,在此未一一注明原文链接,敬请谅解! AS3:事件流机制  事件流 只要发生事件,Flash Player就会调度该事件对象. 如果事件目标不在显示列表中,则Flash ...

  6. C#用 excel 作为模板打印

    //打印操作,套打.打印.预览        enum PrintFlag        {            /// <summary>            /// 套打,只打印没 ...

  7. JavaFx的一些总结

     JavaFX的一些总结:1.场景scene.布局layout.控件control是javaFX的基本组成部分.控件可以放到布局中,布局可以放到布局中,也可以放到场景中,这里要注意,场景里只能放一个布 ...

  8. easyui datagrid 的排序问题

    今日遇到一个datagrid排序问题,sortable,sorter函数都已设置,但是始终没有效果,无法在界面自定义排序.后来发现,需要设置remoteSort:false. 切记!!! remote ...

  9. HeartBeat源码安装

    只是写了安装流程,具体信息查看互联网; 环境: CentOS6.8 x86_64 min Heartbeat 3.0.6 http://hg.linux-ha.org/heartbeat-STABLE ...

  10. 浅谈position: absolute和position:relative

    一.在此先说一下文档流的概念: 1,文档流定义: 百度百科定义:文档流是文档中可显示对象在排列时所占用的位置. 大多网友的理解:元素的位置由元素在 (X)HTML 中的位置决定.将窗体自上而下分成一行 ...