Java Gui权限赋予

合集下载

Java中的GUI框架对比选择最适合你的工具

Java中的GUI框架对比选择最适合你的工具

Java中的GUI框架对比选择最适合你的工具Java作为一种广泛使用的编程语言,提供了多种GUI框架供开发者选择。

这些框架各有特点和适用场景。

本文将对Java中常用的几个GUI框架进行对比,帮助你选择最适合你的工具。

一、SwingSwing是Java提供的最基本和最常用的GUI框架之一。

它提供了丰富的组件和布局管理器,可以轻松地创建各种复杂的用户界面。

Swing 的优点在于易学易用,它提供了大量的文档和示例程序,帮助开发者快速掌握和应用。

然而,Swing也有其局限性。

它的外观默认较为简陋,需要额外的工作来美化界面。

而且,在处理大量数据时,Swing的性能可能会受到影响。

因此,如果你需要创建高度定制化的用户界面或者处理大量数据,或许有其他更适合的选择。

二、JavaFXJavaFX是Oracle在Java 8中引入的新一代GUI框架。

相比于Swing,JavaFX提供了更现代化,更美观的用户界面设计。

它支持页面式布局,可以使用CSS进行界面样式的定制,同时还提供了丰富的动画和多媒体支持。

JavaFX还具有良好的跨平台性能,可以在不同操作系统下获得一致的用户体验。

它也能很好地集成到现有的Swing应用程序中,方便开发者逐步迁移。

然而,JavaFX在一些细节上还不够完善,文档和示例相对较少,对于初学者来说学习曲线可能较陡峭。

此外,JavaFX在某些方面的功能支持可能不及Swing,尤其是在一些特殊需求的场景下。

三、AWTAWT是Java最早提供的GUI框架,它直接使用了底层操作系统的原生组件。

AWT的优点在于性能较高,因为它充分利用了底层操作系统的原生支持。

然而,AWT的外观和功能相对较为有限,对于一些复杂的界面和布局需求,可能支持不够理想。

另外,AWT仅支持部分平台,可能存在跨平台性能方面的问题。

四、Java SWTSWT是一种由Eclipse基金会开发并维护的GUI框架。

它利用了操作系统的底层图形系统,提供了更接近原生的界面和更好的性能。

Java中的GUI设计原则与最佳实践

Java中的GUI设计原则与最佳实践

Java中的GUI设计原则与最佳实践在Java开发领域,GUI(Graphical User Interface)设计是一个非常重要的方面。

一个良好的GUI设计可以提升用户体验,增强应用程序的功能性和可用性。

本文将探讨一些Java中的GUI设计原则与最佳实践,帮助开发者创建出令人满意的用户界面。

1. 界面简洁明了一个好的GUI应该尽量简洁明了,避免过多的视觉元素和复杂的布局。

使用统一的字号、颜色和图标可以提高界面的一致性和可读性。

同时,尽量减少用户需要进行的操作次数,提供直观的导航和操作方式,使用户能够快速找到需要的功能。

2. 遵循MVC架构MVC(Model-View-Controller)是一种常用的软件架构模式,可以将应用程序的数据、界面和逻辑进行解耦。

在Java的GUI设计中,我们可以使用Swing或JavaFX等框架来实现MVC架构。

将视图(View)与模型(Model)分离,使用控制器(Controller)来协调两者之间的交互,可以简化设计和维护过程。

3. 使用合适的布局管理器Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout和GridBagLayout等。

开发者应根据界面的结构和需求选择合适的布局管理器。

合理的布局可以保证组件的自适应性和美观性,同时提高界面的稳定性和可维护性。

4. 响应用户交互良好的GUI设计应该及时响应用户的交互操作,给予用户明确的反馈。

例如,当用户点击按钮或输入框时,应该有适当的动画、颜色变化或提示信息来告知用户操作已被接受。

同时,应该及时处理错误输入,并给予用户友好的提示,提高用户体验。

5. 使用合适的字体和颜色字体和颜色对于GUI设计起着至关重要的作用。

选择合适的字体和字号可以增加界面的可读性和美观性,建议使用简洁清晰的字体,避免使用太小或太大的字号。

而颜色的选择应考虑到可读性和视觉吸引力,尽量使用明亮且对比度较高的颜色,以避免用户阅读和操作困难。

Java中的GUI测试与自动化测试

Java中的GUI测试与自动化测试

Java中的GUI测试与自动化测试在软件开发过程中,GUI(Graphical User Interface,图形用户界面)测试是一项不可或缺的任务。

通过GUI测试,我们可以验证软件界面的正确性、功能以及用户体验,以确保软件的质量和稳定性。

而自动化测试则是一种提高测试效率和准确性的重要手段。

在Java中,有许多工具和框架可以帮助我们进行GUI测试和自动化测试。

1. GUI测试的重要性GUI测试主要是通过对软件界面进行交互和验证来检查软件是否符合预期功能和设计要求。

GUI测试可以帮助我们发现和修复潜在的用户界面问题,如界面布局不当、界面交互异常、操作逻辑错误等。

同时,GUI测试还可以提供给开发人员和设计人员反馈,以改进用户体验和界面设计。

2. Java中的GUI测试工具2.1 Java.awt和javax.swingJava的标准库中提供了用于图形界面开发的包,即java.awt和javax.swing。

这两个包提供了丰富的组件和容器类,如按钮、文本框、标签、面板等,以方便开发者创建界面。

通过编写测试用例,可以使用这些库中的组件对GUI进行手动测试,以确保它们的正确性和稳定性。

2.2 JUnitJUnit是Java中一个广泛使用的单元测试框架。

尽管它主要用于单元测试,但也可以用于GUI测试。

通过JUnit的扩展,我们可以模拟用户交互操作,并对特定的界面组件和事件进行测试。

JUnit提供了丰富的断言方法,可以验证界面的状态、事件触发以及界面元素的属性等。

2.3 JavaFX TestJavaFX是一个用于构建富客户端应用程序的框架,它提供了一套现代化的UI组件和布局技术。

JavaFX Test是JavaFX的测试工具包,它提供了一套API,用于测试JavaFX应用程序的用户界面。

通过使用JavaFX Test,我们可以编写针对JavaFX界面的自动化测试脚本,可以对界面进行模拟操作和验证。

3. 自动化测试的优势与挑战自动化测试是一种提高测试效率和准确性的重要手段。

java_11GUI编程

java_11GUI编程

窗体Frame

public void dispose()
– //可以撤销当前窗口,释放窗口所使用的资源

Frame是Window的子类,凡是Window子类的对 象都引发WindowEvent事件。 当一个Frame窗口被激活、撤销激活、打开、关 闭、最小化或撤销最小化,就会引发窗口事件, 获得监视器的方法如下: public void addWindowListener(WindowListener)
BorderLayout(边框布局)

构造函数
BorderLayout();
//各组件纵、横间距为0 BorderLayout(int hgap, int vgap); //hgap横间距,vgap纵间距,象素为单位

add (组件,位置);

位置可取值:
BorderLayout.NORTH[WEST,CENTER,EAST,SOUTH]



容器(Container )
AWT中的容器
Window Frame(重点掌握) Dialog Panel Applet

Frame 窗体
介绍:Frame是一个带有边框、标题栏、菜单的图形 容器。 构造方法:
Frame() 创建一个空白框架 Frame(String s) 创建一个使用 s 做标题的框架。 Frame类常用的方法: public void setIconImage(Image image):设置窗体显示的图 标 public void setMenuBar(MenuBar menubar):加载窗体使 用的菜单对象 public void setLayout(LayoutManager manager):设置窗体 使用的布局管理器

Java的GUI开发介绍SwingJavaFX和AWT

Java的GUI开发介绍SwingJavaFX和AWT

Java的GUI开发介绍SwingJavaFX和AWTJava的GUI开发介绍Swing、JavaFX和AWTJava作为一门跨平台的编程语言,提供了多种图形用户界面(Graphical User Interface,简称GUI)的开发框架,其中最常用的有Swing、JavaFX和AWT。

本文将介绍这三种界面开发框架的特点和用法。

一、SwingSwing是Java提供的一套组件库,用于创建跨平台的图形用户界面。

它提供了丰富的组件,包括按钮、文本框、下拉菜单等,可以满足各种界面开发的需求。

Swing的特点如下:1. 跨平台性:Swing基于Java语言,可以轻松地在不同的平台上运行,例如Windows、Mac和Linux等。

2. 可定制性:Swing的组件可以通过设置属性、添加事件监听器等方式进行灵活的定制,以满足个性化的界面需求。

3. 容易学习和使用:Swing采用了面向对象的设计思路,提供了一套简单易懂的API,使得开发者可以快速上手,进行GUI的开发。

二、JavaFXJavaFX是Oracle公司在Java SE 8中引入的新一代界面开发工具。

它是一种富客户端平台,提供了丰富的可视化界面组件和多媒体支持。

JavaFX的特点如下:1. 设计美观:JavaFX支持CSS样式,可以轻松实现漂亮的界面设计,让用户体验更加友好。

2. 多媒体支持:JavaFX内置了对音频、视频等多媒体资源的支持,使得开发者可以在界面中嵌入丰富的多媒体内容。

3. 高性能:JavaFX采用了硬件加速技术,可以提供流畅的界面体验,并具有较低的内存占用。

三、AWTAWT(Abstract Window Toolkit)是Java最早提供的GUI开发工具包,它是基于底层操作系统窗口的一种界面开发方式。

AWT的特点如下:1. 简单易用:AWT提供了一些基本的界面组件,如窗口、按钮和文本框等,使用起来非常简单。

2. 平台依赖性:AWT的界面在不同的操作系统上可能有差异,因为它是直接使用底层窗口系统的API。

Java中的GUI编程

Java中的GUI编程
性能优化:随着硬件和软件的不断发展,Java GUI编程的性能将得到进一步的优化,提高 应用程序的响应速度和用户体验。
集成Web技术:Java GUI编程将与Web技术更加紧密地集成,使得开发者能够更加方便地 开发出功能丰富、界面美观的Web应用程序。
增强安全性:Java GUI编程将更加注重安全性,提供更多的安全特性和工具,帮助开发者 构建更加安全的应用程序。
AWT组件使用示例
组件类型:按钮、标
签、文本框、选择框 等
组件属性:颜色、字 体、大小、位置等
组件事件:点击事件
、键盘事件、鼠标事 件等
组件布局:流式布局 、网格布局、边界布 局等
JavaFX组件库
JavaFX组件库简介
标题
JavaFX组件库是Java中用于构建GUI界面的工具包
标题
提供了丰富的UI控件,如按钮、文本框、列表等
BorderPane:分为 五个区域,可以设置 子节点的位置和比例 ,适合布局复杂的界

GridPane:按照网格 布局,可以设置行、列 、跨度等属性,适合布 局规则、整齐的界面
06
HBox和VBox:分别 按照水平或垂直方向 排列子节点,可以设 置对齐方式、间距等
07
JavaFX布局管理器的 使用方法:通过设置组 件的布局管理器属性, 可以轻松实现界面布局

JavaFX事件处理机制
事件源: JavaFX组件库 中的UI组件
事件类型:包 括鼠标事件、 键盘事件、触 摸事件等
事件处理:通 过注册监听器 来实现事件处 理
监听器类型: 包括事件监听 器、动作监听 器、选择监听 器等
事件传播:事 件从源组件传 播到父组件, 直到到达根节 点

JAVA权限管理系统数据库设计

JAVA权限管理系统数据库设计

JAVA权限管理系统数据库设计在设计JAVA权限管理系统的数据库时,需要考虑到权限管理的基本需求,包括用户管理、角色管理、权限管理及相关关系的存储和管理。

首先,数据库的设计需要考虑用户管理,该模块用于存储和管理用户的基本信息,如用户ID、用户名、密码等。

用户表可以设计为以下字段:- 用户ID(User ID)- 用户名(Username)- 密码(Password)- 手机号(Phone Number)用户表中的用户ID是主键,用于唯一标识每一个用户。

接下来,数据库的设计需要考虑角色管理,该模块用于存储和管理角色的基本信息。

角色表可以设计为以下字段:- 角色ID(Role ID)- 角色名称(Role Name)角色表中的角色ID是主键,用于唯一标识每一个角色。

权限管理模块是权限管理系统的核心模块,用于存储和管理用户和角色之间的权限关系。

该模块可以设计为以下表结构:- 权限ID(Permission ID)- 权限名称(Permission Name)权限表中的权限ID是主键,用于唯一标识每一个权限。

接下来,需要设计用户和角色之间的关系,用户角色关系表可以设计为以下字段:- 关系ID(Relation ID)- 用户ID(User ID)- 角色ID(Role ID)用户角色关系表中的关系ID是主键,用于唯一标识每一个用户角色关系。

最后,在数据库设计中,需要考虑到不同模块之间的关联关系。

使用外键来定义表之间的关系,并添加必要的索引以提高系统性能。

综上所述,JAVA权限管理系统的数据库设计包括用户管理、角色管理、权限管理及相关关系的存储和管理。

通过合理设计数据库表结构和各表之间的关系,可以实现权限管理系统的基本功能,满足用户对权限的管理需求。

同时,为了提高系统性能,还需要考虑索引的设计和合理使用。

Java中的GUI编程入门指南

Java中的GUI编程入门指南

Java中的GUI编程入门指南Java作为一种功能强大的编程语言,提供了丰富的图形用户界面(Graphical User Interface,简称GUI)编程工具和库,使得开发人员能够轻松地创建具有吸引力和交互性的界面。

本文将为您介绍Java中的GUI编程,帮助您入门并了解GUI编程的基本原理和常用组件。

一、GUI编程基础在开始学习Java中的GUI编程之前,首先需要了解一些基础知识。

GUI编程是通过使用图形库和工具来创建用户界面,其中包括各种不同的用户界面元素,如窗口、按钮、文本框等。

Java提供了独立于操作系统的跨平台GUI编程工具,因此您的应用程序可以在不同的操作系统上运行,并保持一致的外观和功能。

二、Swing组件库Java中最常用的GUI编程工具是Swing组件库,它提供了各种各样的组件,用于创建界面的各个部分。

Swing组件库具有丰富的功能和可定制性,可以满足不同应用程序的需求。

以下是一些常用的Swing组件:1. JFrame:JFrame是Java中的顶层容器,用于创建和管理窗口。

您可以在窗口中添加其他组件,并定义窗口的大小、位置和操作。

2. JPanel:JPanel是用于布局和组织其他组件的容器。

您可以将多个JPanel组合在一起形成复杂的界面。

3. JButton:JButton是一个用于触发特定操作的按钮。

您可以为按钮添加事件监听器,以便在用户点击按钮时执行一些操作。

4. JLabel:JLabel用于显示文本或图像。

您可以使用JLabel来显示应用程序的标题、标签等。

5. JTextField:JTextField是一个文本输入框,用户可以在其中输入和编辑文本。

6. JTable:JTable用于显示和编辑表格数据。

您可以通过设置不同的表格模型和渲染器来自定义表格的外观和功能。

三、GUI编程示例为了帮助您更好地理解Java中的GUI编程,以下是一个简单的示例,演示了如何创建一个基本的用户界面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

package competence;import java.awt.Button;import java.awt.GridLayout;import bel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import java.util.List;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JOptionPane;/**** function 权限限制** */public class Competence extends JFrame implements ActionListener{ public Competence(){}private Button bt = new Button("赋权");private Label lb = new Label("赋权给");private Object[] items = {"请选择级别","管理员","普通员工","高级管理员","中级管理员","初级管理员"};private Object[] new_items = {"请选择级别","普通员工","高级管理员","中级管理员","初级管理员"};private JComboBox<Object> jcb = new JComboBox<Object>(items);private JComboBox<Object> new_jcb = new JComboBox<Object>(new_items);private JCheckBox jcb_admin = new JCheckBox("拥有所有权限", false);//code --> Aprivate JCheckBox jcb_pwd = new JCheckBox("修改密码", false);//code --> B private JCheckBox jcb_info = new JCheckBox("查看信息", false);//code --> C private JCheckBox jcb_update = new JCheckBox("修改信息", false);//code --> Dprivate JCheckBox jcb_addEmp = new JCheckBox("增加新员工", false);//code --> Eprivate JCheckBox jcb_delEmp = new JCheckBox("删除员工信息", false);//code --> Fprivate String str_admin = "A";private String str_pwd = "B";private String str_info = "C";private String str_update = "D";private String str_addEmp = "E";private String str_delEmp = "F";//装有所有权限的编码private List<String> codes_admin = new ArrayList<String>(); private List<String> codes_emp = new ArrayList<String>();private List<String> codes_admin_emp = new ArrayList<String>(); private List<String> codes_senner_admin = new ArrayList<String>(); private List<String> codes_primary_admin = new ArrayList<String>(); //new_jcb选择值String newJcb = "请选择级别";//控制是否是从其他地方跳转过来的private boolean bool = false;//常规操作public void lunchFrame(){this.setBounds(0, 0, 400, 150);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLayout(new GridLayout(3,4));this.add(jcb);jcb.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if(!bool){String prof_name = jcb.getSelectedItem().toString();List<String> list = getCode(prof_name);clear();if(prof_name.equals("管理员")){lb.setVisible(true);new_jcb.setVisible(true);bt.setVisible(true);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else if(prof_name.equals("普通员工")){ lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}else{jcb_admin.setEnabled(false);jcb_pwd.setEnabled(false);jcb_info.setEnabled(false);jcb_update.setEnabled(false);jcb_addEmp.setEnabled(false);jcb_delEmp.setEnabled(false);}}}else if(prof_name.equals("高级管理员")){ lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else if(prof_name.equals("中级管理员")){ lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else if(prof_name.equals("初级管理员")){lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}}else{String prof_name = jcb.getSelectedItem().toString();clear();if(prof_name.equals("管理员")){List<String> list = getCode(prof_name);lb.setVisible(true);new_jcb.setVisible(true);bt.setVisible(true);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else if(prof_name.equals("普通员工")){lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);if(codes_emp.size()>0){for(int i=0;i<codes_emp.size();i++){String str = codes_emp.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}else{jcb_admin.setEnabled(false);jcb_pwd.setEnabled(false);jcb_info.setEnabled(false);jcb_update.setEnabled(false);jcb_addEmp.setEnabled(false);jcb_delEmp.setEnabled(false);}}}else{List<String> list = getCode(prof_name);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}else{jcb_admin.setEnabled(false);jcb_pwd.setEnabled(false);jcb_info.setEnabled(false);jcb_update.setEnabled(false);jcb_addEmp.setEnabled(false);jcb_delEmp.setEnabled(false);}}}}else if(prof_name.equals("高级管理员")){lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);if(codes_admin_emp.size()>0){for(int i=0;i<codes_admin_emp.size();i++){String str = codes_admin_emp.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else{List<String> list = getCode(prof_name);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}else{jcb_admin.setEnabled(false);jcb_pwd.setEnabled(false);jcb_info.setEnabled(false);jcb_update.setEnabled(false);jcb_addEmp.setEnabled(false);jcb_delEmp.setEnabled(false);}}}}else if(prof_name.equals("中级管理员")){lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);if(codes_senner_admin.size()>0){for(int i=0;i<codes_senner_admin.size();i++){String str = codes_senner_admin.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else{List<String> list = getCode(prof_name);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}else{jcb_admin.setEnabled(false);jcb_pwd.setEnabled(false);jcb_info.setEnabled(false);jcb_update.setEnabled(false);jcb_addEmp.setEnabled(false);jcb_delEmp.setEnabled(false);}}}}else if(prof_name.equals("初级管理员")){lb.setVisible(false);new_jcb.setVisible(false);bt.setVisible(false);if(codes_primary_admin.size()>0){for(int i=0;i<codes_primary_admin.size();i++){String str = codes_primary_admin.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}}else{List<String> list = getCode(prof_name);for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}else{jcb_admin.setEnabled(false);jcb_pwd.setEnabled(false);jcb_info.setEnabled(false);jcb_update.setEnabled(false);jcb_addEmp.setEnabled(false);jcb_delEmp.setEnabled(false);}}}}}}});this.add(lb);lb.setVisible(false);this.add(new_jcb);new_jcb.setVisible(false);new_jcb.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {newJcb = new_jcb.getSelectedItem().toString();if(newJcb == null || "".equals(newJcb)){newJcb = "请选择级别";}}});this.add(bt);this.add(jcb_admin);this.add(jcb_pwd);this.add(jcb_info);this.add(jcb_update);this.add(jcb_addEmp);this.add(jcb_delEmp);this.setResizable(false);//窗体不能改变大小bt.addActionListener(this);bt.setVisible(false);this.setVisible(true);}//button按钮的动作事件public void actionPerformed(ActionEvent e) {if(!bool){List<String> list = getCode(newJcb);if(newJcb.equals("普通员工")){new GiveCompetence(list,newJcb).lunchFrame();this.dispose();}else if(newJcb.equals("高级管理员")){new GiveCompetence(list,newJcb).lunchFrame();this.dispose();}else if(newJcb.equals("中级管理员")){new GiveCompetence(list,newJcb).lunchFrame();this.dispose();}else if(newJcb.equals("初级管理员")){new GiveCompetence(list,newJcb).lunchFrame();this.dispose();}else{JOptionPane.showMessageDialog(null, "请选择您要给什么职位赋权", "系统提示", 3);}}else{if(newJcb.equals("普通员工")){new GiveCompetence(codes_emp,newJcb).lunchFrame();this.dispose();}else if(newJcb.equals("高级管理员")){new GiveCompetence(codes_admin_emp,newJcb).lunchFrame();this.dispose();}else if(newJcb.equals("中级管理员")){new GiveCompetence(codes_senner_admin,newJcb).lunchFrame();this.dispose();}else if(newJcb.equals("初级管理员")){new GiveCompetence(codes_primary_admin,newJcb).lunchFrame();this.dispose();}else{JOptionPane.showMessageDialog(null, "请选择您要给什么职位赋权", "系统提示", 3);}}}//clear 状态public void clear(){jcb_admin.setSelected(false);jcb_pwd.setSelected(false);jcb_info.setSelected(false);jcb_update.setSelected(false);jcb_addEmp.setSelected(false);jcb_delEmp.setSelected(false);}//初始化权限public List<String> getCode(String name){ if(name.equals("管理员")){//管理员codes_admin.add(str_admin);codes_admin.add(str_pwd);codes_admin.add(str_info);codes_admin.add(str_update);codes_admin.add(str_addEmp);codes_admin.add(str_delEmp);return codes_admin;}else if(name.equals("普通员工")){//普通员工codes_emp.add(str_pwd);codes_emp.add(str_info);return codes_emp;}else if(name.equals("高级管理员")){//高级管理员codes_admin_emp.add(str_pwd);codes_admin_emp.add(str_info);codes_admin_emp.add(str_update);codes_admin_emp.add(str_addEmp);codes_admin_emp.add(str_delEmp);return codes_admin_emp;}else if(name.equals("中级管理员")){//中级管理员codes_senner_admin.add(str_pwd);codes_senner_admin.add(str_info);codes_senner_admin.add(str_update);codes_senner_admin.add(str_addEmp);return codes_senner_admin;}else if(name.equals("初级管理员")){//初级管理员codes_primary_admin.add(str_pwd);codes_primary_admin.add(str_info);codes_primary_admin.add(str_addEmp);return codes_primary_admin;}else{return null;}}//程序入口public static void main(String[] args){new Competence().lunchFrame();}public List<String> getCodes_admin() {return codes_admin;}public void setCodes_admin(List<String> codes_admin) {this.codes_admin = codes_admin;}public List<String> getCodes_emp() {return codes_emp;}public void setCodes_emp(List<String> codes_emp) {this.codes_emp = codes_emp;}public List<String> getCodes_admin_emp() {return codes_admin_emp;}public void setCodes_admin_emp(List<String> codes_admin_emp) { this.codes_admin_emp = codes_admin_emp;}public List<String> getCodes_senner_admin() {return codes_senner_admin;}public void setCodes_senner_admin(List<String> codes_senner_admin) { this.codes_senner_admin = codes_senner_admin;}public List<String> getCodes_primary_admin() {return codes_primary_admin;}public void setCodes_primary_admin(List<String> codes_primary_admin) { this.codes_primary_admin = codes_primary_admin;}public boolean isBool() {return bool;}public void setBool(boolean bool) {this.bool = bool;}}//赋权界面package competence;import java.awt.Button;import java.awt.GridLayout;import bel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.ArrayList;import java.util.List;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JOptionPane;public class GiveCompetence extends JFrame implements ActionListener{ private List<String> list = new ArrayList<String>();String str;public GiveCompetence(List<String> list,String str){this.list = list;this.str = str;}private Label lbname = new Label();private Button bt = new Button("确定");private JCheckBox jcb_admin = new JCheckBox("拥有所有权限", false);//code --> Aprivate JCheckBox jcb_pwd = new JCheckBox("修改密码", false);//code --> B private JCheckBox jcb_info = new JCheckBox("查看信息", false);//code --> C private JCheckBox jcb_update = new JCheckBox("修改信息", false);//code --> Dprivate JCheckBox jcb_addEmp = new JCheckBox("增加新员工", false);//code --> Eprivate JCheckBox jcb_delEmp = new JCheckBox("删除员工信息", false);//code --> Fprivate String str_admin = "A";private String str_pwd = "B";private String str_info = "C";private String str_update = "D";private String str_addEmp = "E";private String str_delEmp = "F";//常规操作public void lunchFrame(){this.setBounds(0, 0, 300, 150);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setLayout(new GridLayout(8,1));//判断传入的list容器中所包含的职权for(int i=0;i<list.size();i++){String str = list.get(i).toString();if(str.equals("A")){jcb_admin.setSelected(true);jcb_admin.setEnabled(true);}else if(str.equals("B")){jcb_pwd.setSelected(true);}else if(str.equals("C")){jcb_info.setSelected(true);}else if(str.equals("D")){jcb_update.setSelected(true);jcb_update.setEnabled(true);}else if(str.equals("E")){jcb_addEmp.setSelected(true);jcb_addEmp.setEnabled(true);}else if(str.equals("F")){jcb_delEmp.setSelected(true);jcb_delEmp.setEnabled(true);}}this.add(lbname);lbname.setText("您正在给"+str+"增加/减少权限,请您慎重考虑"); this.add(jcb_admin);//终极权限this.add(jcb_pwd); //修改密码jcb_pwd.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {if(!jcb_pwd.isSelected()){jcb_pwd.setSelected(false);list.remove(str_pwd);}else{jcb_pwd.setSelected(true);list.add(str_pwd);}}});this.add(jcb_info); //查看信息jcb_info.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {if(!jcb_info.isSelected()){jcb_info.setSelected(false);list.remove(str_info);}else{jcb_info.setSelected(true);list.add(str_info);}}});this.add(jcb_update);//修改信息jcb_update.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {if(!jcb_update.isSelected()){jcb_update.setSelected(false);list.remove(str_update);}else{jcb_update.setSelected(true);list.add(str_update);}}});this.add(jcb_addEmp);//增加新员工jcb_addEmp.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {if(!jcb_addEmp.isSelected()){jcb_addEmp.setSelected(false);list.remove(str_addEmp);}else{jcb_addEmp.setSelected(true);list.add(str_addEmp);}}});this.add(jcb_delEmp); //删除员工jcb_delEmp.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {if(!jcb_delEmp.isSelected()){jcb_delEmp.setSelected(false);list.remove(str_delEmp);}else{jcb_delEmp.setSelected(true);list.add(str_delEmp);}}});this.add(bt);bt.addActionListener(this);this.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent e) {Competence competence = new Competence();if(str.equals("普通员工")){competence.setCodes_emp(list);}else if(str.equals("高级管理员")){competence.setCodes_admin_emp(list);}else if(str.equals("中级管理员")){competence.setCodes_senner_admin(list);}else if(str.equals("初级管理员")){competence.setCodes_primary_admin(list);}else{JOptionPane.showMessageDialog(null, "出错了", "系统错误警告", 0);}competence.setBool(true);competence.lunchFrame();this.dispose();}}。

相关文档
最新文档