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),它是一种用户界面设计模式,允许用户在应用的多个顶级视图之间轻松切换。这种导航栏通常包含三个到五个图标,当用户点击或滑动...
底部导航栏是由名为`Tabbar`的组件来实现的,这显示了Vue中组件化的思想,即将UI的不同部分拆分成独立的可复用组件。 在`<script>`部分,`Tabbar`组件被导入并注册为`App`组件的子组件。这意味着`Tabbar`将在`App`...
在网页设计中,导航栏是页面布局的关键组成部分,它为用户提供了一个直观的界面来浏览网站的不同部分。"20个导航栏实例"集合了多种设计风格和交互效果的导航栏,旨在帮助设计师和开发者们获取灵感,提升网页用户体验...
在本文中,我们将深入探讨如何在Qt环境中自定义一个功能丰富、样式美观的树形导航栏。Qt是一个跨平台的应用程序开发框架,广泛用于创建GUI应用程序。自定义导航栏是提高用户界面(UI)吸引力和易用性的重要手段,...
当用户需要查看或操作更多功能时,可以通过点击图标或者在左侧导航栏向右滑动来展开导航条,从而露出完整菜单,实现快速切换不同页面或功能。 首先,我们来看一下这种设计模式的优点: 1. **空间优化**:在移动设备...
响应式导航栏是一种设计模式,它能够根据用户设备的不同屏幕尺寸和方向自动调整布局和功能,从而提供良好的用户体验。在现代网页开发中,响应式设计是必不可少的,特别是在多设备浏览已经成为常态的情况下。本项目...
在C#编程环境中,开发一个简单的侧选栏(也称为导航条)对于构建用户界面(UI)至关重要。这种导航条通常用于提供应用内的导航功能,让用户可以轻松地在不同的功能或视图之间切换。在C/S(客户端/服务器)架构中,...
HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 HTML+CSS 完成伸缩式导航栏 ...
在设计导航栏时,CSS可以控制导航条的布局、颜色、字体、过渡效果等各个方面。例如: 1. **布局**:通过`display`属性(如`flex`或`grid`)可以实现响应式布局,让导航栏在不同屏幕尺寸下都能良好展示。 2. **样式*...
【CSS网页导航栏样式制作软件】是一款专为不熟悉CSS编码的用户设计的工具,它可以帮助用户轻松创建和设计网页的导航栏样式。这款软件提供了一个直观的界面,让用户可以通过图形化的方式设置导航栏的各种元素,如字体...
在网页设计中,导航条是页面布局的重要组成部分,它帮助用户快速访问网站的不同部分。本资源集合了几个使用CSS(层叠样式表)和HTML(超文本标记语言)以及JavaScript编写的经典导航条实例,这些都是个人精心收集的...
通过以上讲解,你应该对如何创建类似人人网底部导航栏有了基本了解。实际操作时,请参考`bottomNav1.html`和`bottomNav2.html`的源代码,结合CSS布局技巧和JavaScript功能,定制符合自己需求的底部导航条。
小米官网 导航栏 HTML页面
在网页设计中,导航栏是页面布局的重要组成部分,它帮助用户快速找到网站的不同部分并进行浏览。本资源“一个类似阿里巴巴的js控制的导航栏.rar”提供了一个使用JavaScript实现的导航栏示例,旨在模仿阿里巴巴网站的...
在Android系统中,状态栏和导航栏是用户界面的重要组成部分,它们提供了系统信息显示和应用程序间的导航功能。在某些应用场景下,比如全屏游戏或沉浸式视频观看时,开发者可能需要动态地控制这些元素的显示与隐藏,...
在“HTML5导航条”这个主题中,我们将深入探讨如何利用HTML5结合CSS3和jQuery来创建一个全屏、大气、时尚且具有焦点图片切换效果的导航栏。 首先,HTML5在结构元素上做了改进,提供了像标签这样的语义化元素,用于...
"JQ滑动变色菜单_导航条变色滑动显示"就是一个这样的实践,它利用jQuery库来实现导航条在用户滚动页面时的动态变化,特别是颜色的变换,为网站增添视觉吸引力和互动性。jQuery(简称JQ)是一个广泛使用的JavaScript...
今天我们将探讨一个特定的设计技巧,即“微信小程序中的导航栏透明渐变效果”。这个效果可以通过CSS3的`opacity`属性来实现,让导航栏在滚动时呈现出平滑的透明度变化,为用户提供更为流畅的浏览体验。 首先,我们...
在移动应用和网页设计中,底部导航条(Bottom Navigation Bar)是常见的用户界面元素,它为用户提供了一种方便快捷的方式,来访问网站或应用的主要功能。这个“手机端自适应底部导航条,带小图标”的设计,是针对...
在Android应用开发中,导航栏(Navigation Bar)是用户界面中的一个重要组成部分,它通常位于屏幕底部,用于展示各个主要功能模块的入口,帮助用户轻松地在应用的不同页面间切换。本篇文章将深入探讨如何在Android中...