Java动态菜单添加
自己做出来的添加数据库配置好的动态菜单的方法
private void createMenu() {
IMenuDAO dao = new MenuDAOImpl();
String sql1 = "select * from menu where menuId like '__'";
String sql2 = "select * from menu where menuId like '____'";
//记住这里是用的自己写的实体Menu,而不是Java本身的
List<Menu> list1 = dao.findAll(sql1);//一级菜单
List<Menu> list2 = dao.findAll(sql2);//二级菜单
for (Menu menu1 : list1) {
JMenu teMenu = new JMenu();
JMenuItem teItem = null;
for (Menu menu2 : list2) {
if(menu2.getMenuId().startsWith(menu1.getMenuId())) {
teItem = new JMenuItem();
teItem.setActionCommand(menu2.getMenuId());
teItem.setText(menu2.getMenuName());
teItem.setToolTipText(menu2.getMenuMemo());
//因为内层遍历一次出来一个子菜单,必须赶紧加在一级菜单下面
teMenu.add(teItem);
}
}
teMenu.setActionCommand(menu1.getMenuId());
teMenu.setText(menu1.getMenuName());
teMenu.setToolTipText(menu1.getMenuMemo());
this.menuBar.add(teMenu);
}
}
Java动态菜单添加的更多相关文章
- MFC之创建多级动态菜单
一开始以我是这样做的,结果是错误的: 这段代码第一次点击时,会在第6个位置创建MFC菜单,我本以为再次点击,menu->GetSubMenu(5)返回的值就不会为空了,但事实是它返回了NULL, ...
- 如何实现在已有代码之后添加逻辑之java动态代理
在上篇博客中讨论到java的静态代理, 就是通过组合的方法,前提是委托类需要实现一个接口,代理类也实现这个这个 接口,从何组合两个类,让代理类给委托类添加功能! 知道java的静态代理,我们又遇到一个 ...
- java Swing 如何添加点击可展开菜单控件( JMenuBar如何使用?)
准备: JMenuBar 点击可展开控件本体 JMenu 点击可展开控件中的一级菜单 JMenuItem 点击可展开控件中的二级菜单 JFrame 程序运行时弹出的那个框框 这是一个使用点击可展开菜 ...
- abp添加动态菜单
abp中MenuDefinition封装了导航栏上的主菜单的属性,MenuItemDefinition则封装了子菜单的属性,子菜单可以引用其他子菜单构成一个菜单树. MenuDefinitio成员如下 ...
- .net core3.1 abp动态菜单和动态权限(动态菜单实现和动态权限添加) (三)
我们来创建动态菜单吧 首先,先对动态菜单的概念.操作.流程进行约束:1.Host和各个Tenant有自己的自定义菜单2.Host和各个Tenant的权限与自定义菜单相关联2.Tenant有一套默认的菜 ...
- java 动态代理(模式) InvocationHandler(为类中方法执行前或后添加内容)
动态代理属于Java反射的一种. 当我们得到一个对象,想动态的为其一些方法每次被调用前后追加一些操作时,我们将会用到java动态代理. 下边上代码: 首先定义一个接口: package com.liu ...
- Java 动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的 ...
- winform快速开发平台 -> 通用权限管理之动态菜单
这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, ...
- ASP.NET实现微信功能(1)(创建菜单,验证,给菜单添加事件)
LZ实在 不知道怎么起名字了,索性就取了这个名字,开始吧,说实在的,想给自己的平常的学习做一个总结,总是忘了总结.也只能给工作做一个总结了. 我打算用2篇文章来写,第一篇是关于订阅号的,就是这个号,另 ...
随机推荐
- eclipse快键
工作中经常用到的几个eclipse快捷键 ctrl+alt+箭头下或上-----------------复制当前行 ctrl+q -------------让光标返回最后一次修改的地方 ctrl+d ...
- 基于nodejs的 本地文件夹http服务器:http-server
请记住,是文件夹服务器 $ npm install http-server -g $ cd /tmp && http-server 或: $ http-server /tmp
- (转)SpringBoot之退出服务(exit)时调用自定义的销毁方法
我们在工作中有时候可能会遇到这样场景,需要在退出容器的时候执行某些操作.SpringBoot中有两种方法可以供我们来选择(其实就是spring中我们常用的方式.只是destory-method是在XM ...
- js 数组里面任意两个数的和与目标值
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- TestNG-详解preserve-order的作用与测试case的执行顺序
在TestNG xml配置文件中,关于<test>的配置里面,有一个属性叫preserve-order,一开始以为这个属性可以用来控制测试case(那些被@Test注解标注的方法)的执行顺 ...
- java的输入输出
import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanne ...
- 2017/6Summary
字符串转换为JSON 1.var json = eval('(' + str + ')'); 2.var json = (new Function("return " + str) ...
- MyBatis基础入门《四》接口方式.Select查询集合
MyBatis基础入门<四>接口方式.Select查询集合 描述: 在<MyBatis基础入门<二>Select查询>中有说过,SQLSession有两种用法,这里 ...
- jQuery-点击查看联系方式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- rabbitmq坑点与异常处理
from:http://www.cnblogs.com/gossip/p/4573056.html 一.None of the specified endpoints were reachable 这 ...