`
sendliu
  • 浏览: 11036 次
社区版块
存档分类
最新评论

导航栏

 
阅读更多
import javax.swing.JSplitPane;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.*;

private JSplitPane getJSplitPane()
{
if (jSplitPane == null)
{
   jSplitPane = new JSplitPane();
   jSplitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
   jSplitPane.setLeftComponent(getJScrollTreePane());
   jSplitPane.setRightComponent(getJSplitSubPane());
   jSplitPane.setDividerSize(2); // 句柄宽度
   jSplitPane.setDividerLocation(220); //左侧控件宽度
}
return jSplitPane;
}

private JScrollPane getJScrollTreePane()
{
if (jScrollTreePane == null)
{
   DefaultMutableTreeNode root = new DefaultMutableTreeNode("药品进销存管理系统");// 生成根节点
   DefaultMutableTreeNode childNode = new DefaultMutableTreeNode("基本信息管理");
   String[] nodes = {"供应商基本信息", "药品类别管理", "药品字典管理", "人员管理"};
   for(String node : nodes)
   {
    childNode.add(new DefaultMutableTreeNode(node));
   }
   root.add(childNode);
   childNode = new DefaultMutableTreeNode("药品采购管理");
   nodes = new String[] {"采购订单管理", "采购订单查询", "采购订单统计"};
   for(String node : nodes)
   {
    childNode.add(new DefaultMutableTreeNode(node));
   }
   root.add(childNode);
   childNode = new DefaultMutableTreeNode("库存管理");
   nodes = new String[] {"入库管理", "出库管理", "库存盘点"};
   for(String node : nodes)
   {
    childNode.add(new DefaultMutableTreeNode(node));
   }
   root.add(childNode);
   childNode = new DefaultMutableTreeNode("系统维护");
   nodes = new String[] {"系统日志", "注销...", "系统退出"};
   for(String node : nodes)
   {
    childNode.add(new DefaultMutableTreeNode(node));
   }
   root.add(childNode);
   jTree = new JTree(root);
   DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)jTree.getCellRenderer();// 得到树的绘制器
   ImageIcon icon = new ImageIcon("./image/hide.gif");
   renderer.setOpenIcon(icon);      // 设置打开节点的图标
   renderer.setClosedIcon(icon);   // 设置关闭节点的图标
   icon = new ImageIcon("./image/show.gif");
   renderer.setLeafIcon(icon);   // 设置叶子节点的图标
   renderer.setTextSelectionColor(Color.BLUE);
   renderer.setFont(new Font("Dialog", Font.TRUETYPE_FONT, 14));
   jTree.collapseRow(0);     // 先关闭根节点
   for(int row =0; row < jTree.getRowCount();++row)
   {
    jTree.expandRow(row); // 展开全部子节点
   }
   jTree.addTreeSelectionListener(new TreeSelectionListener()
   {
    public void valueChanged(TreeSelectionEvent e)
    {
     DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree.getLastSelectedPathComponent();
     if(node.isLeaf()) // 判断选中的节点是否为叶子节点。(node.getDepth() == 0)
      selectionEvent(node.toString());
    }
   });
   jScrollTreePane = new JScrollPane();
   jScrollTreePane.setViewportView(jTree);
}
return jScrollTreePane;
}

private void selectionEvent(String name)
{
if(name.equals("系统退出"))
{
   if(JOptionPane.showConfirmDialog(this, "确实要退出药品进销存管理系统吗?", "系统提示", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == 0)
    System.exit(0);
}
}
分享到:
评论

相关推荐

    可滑动导航栏

    在Android应用开发中,"可滑动导航栏"通常指的是底部导航条(Bottom Navigation Bar),它是一种用户界面设计模式,允许用户在应用的多个顶级视图之间轻松切换。这种导航栏通常包含三个到五个图标,当用户点击或滑动...

    vue开发移动端底部导航条功能

    底部导航栏是由名为`Tabbar`的组件来实现的,这显示了Vue中组件化的思想,即将UI的不同部分拆分成独立的可复用组件。 在`&lt;script&gt;`部分,`Tabbar`组件被导入并注册为`App`组件的子组件。这意味着`Tabbar`将在`App`...

    Qt 自定义导航栏

    在本文中,我们将深入探讨如何在Qt环境中自定义一个功能丰富、样式美观的树形导航栏。Qt是一个跨平台的应用程序开发框架,广泛用于创建GUI应用程序。自定义导航栏是提高用户界面(UI)吸引力和易用性的重要手段,...

    20个导航栏实例

    在网页设计中,导航栏是页面布局的关键组成部分,它为用户提供了一个直观的界面来浏览网站的不同部分。"20个导航栏实例"集合了多种设计风格和交互效果的导航栏,旨在帮助设计师和开发者们获取灵感,提升网页用户体验...

    左边menu导航条,关闭状态只显示缩略图标,用户可以点击图标进行快速切换,在左侧导航栏向右滑动,将打开导航条

    当用户需要查看或操作更多功能时,可以通过点击图标或者在左侧导航栏向右滑动来展开导航条,从而露出完整菜单,实现快速切换不同页面或功能。 首先,我们来看一下这种设计模式的优点: 1. **空间优化**:在移动设备...

    响应式导航栏.zip

    响应式导航栏是一种设计模式,它能够根据用户设备的不同屏幕尺寸和方向自动调整布局和功能,从而提供良好的用户体验。在现代网页开发中,响应式设计是必不可少的,特别是在多设备浏览已经成为常态的情况下。本项目...

    C# 简单导航条

    在C#编程环境中,开发一个简单的侧选栏(也称为导航条)对于构建用户界面(UI)至关重要。这种导航条通常用于提供应用内的导航功能,让用户可以轻松地在不同的功能或视图之间切换。在C/S(客户端/服务器)架构中,...

    HTML+CSS 实现伸缩式导航栏.zip

    HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 ...

    css导航栏精选,javascript导航栏

    在设计导航栏时,CSS可以控制导航条的布局、颜色、字体、过渡效果等各个方面。例如: 1. **布局**:通过`display`属性(如`flex`或`grid`)可以实现响应式布局,让导航栏在不同屏幕尺寸下都能良好展示。 2. **样式*...

    CSS网页导航栏样式制作软件

    【CSS网页导航栏样式制作软件】是一款专为不熟悉CSS编码的用户设计的工具,它可以帮助用户轻松创建和设计网页的导航栏样式。这款软件提供了一个直观的界面,让用户可以通过图形化的方式设置导航栏的各种元素,如字体...

    几个经典的导航条,css+div+js写的,个人收集

    在网页设计中,导航条是页面布局的重要组成部分,它帮助用户快速访问网站的不同部分。本资源集合了几个使用CSS(层叠样式表)和HTML(超文本标记语言)以及JavaScript编写的经典导航条实例,这些都是个人精心收集的...

    两种紧贴底部的导航条,类似于人人网底部导航栏

    通过以上讲解,你应该对如何创建类似人人网底部导航栏有了基本了解。实际操作时,请参考`bottomNav1.html`和`bottomNav2.html`的源代码,结合CSS布局技巧和JavaScript功能,定制符合自己需求的底部导航条。

    小米官网导航栏代码实现

    小米官网 导航栏 HTML页面

    一个类似阿里巴巴的js控制的导航栏.rar

    在网页设计中,导航栏是页面布局的重要组成部分,它帮助用户快速找到网站的不同部分并进行浏览。本资源“一个类似阿里巴巴的js控制的导航栏.rar”提供了一个使用JavaScript实现的导航栏示例,旨在模仿阿里巴巴网站的...

    RK3568 Android11-动态控制状态栏、导航栏的显示和隐藏

    在Android系统中,状态栏和导航栏是用户界面的重要组成部分,它们提供了系统信息显示和应用程序间的导航功能。在某些应用场景下,比如全屏游戏或沉浸式视频观看时,开发者可能需要动态地控制这些元素的显示与隐藏,...

    html5导航条

    在“HTML5导航条”这个主题中,我们将深入探讨如何利用HTML5结合CSS3和jQuery来创建一个全屏、大气、时尚且具有焦点图片切换效果的导航栏。 首先,HTML5在结构元素上做了改进,提供了像标签这样的语义化元素,用于...

    JQ滑动变色菜单_导航条变色滑动显示

    "JQ滑动变色菜单_导航条变色滑动显示"就是一个这样的实践,它利用jQuery库来实现导航条在用户滚动页面时的动态变化,特别是颜色的变换,为网站增添视觉吸引力和互动性。jQuery(简称JQ)是一个广泛使用的JavaScript...

    手机端自适应底部导航条,带小图标的

    在移动应用和网页设计中,底部导航条(Bottom Navigation Bar)是常见的用户界面元素,它为用户提供了一种方便快捷的方式,来访问网站或应用的主要功能。这个“手机端自适应底部导航条,带小图标”的设计,是针对...

    导航栏的实现

    在Android应用开发中,导航栏(Navigation Bar)是用户界面中的一个重要组成部分,它通常位于屏幕底部,用于展示各个主要功能模块的入口,帮助用户轻松地在应用的不同页面间切换。本篇文章将深入探讨如何在Android中...

    jQuery左侧列表导航条鼠标滑过flash动画导航条-20130705

    标题中的“jQuery左侧列表导航条鼠标滑过flash动画导航条-20130705”指的是一个基于jQuery技术的网页导航条设计实例。这个导航条特别之处在于它结合了Flash动画效果,使得用户在鼠标滑过时能体验到动态的视觉效果,...

Global site tag (gtag.js) - Google Analytics