第5章 系统详细模块设计与实现
5.1 用户登录及主界面
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,当运行时,弹出界面,该界面登录时用户受权限限制,有管理员登陆和员工登陆。员工登录时只有里面各项的查询功能。管理员则有对里面各项的一切操作功能。这里介绍管理员的登录及管理员的其他功能。按钮选中管理员后,输入正确的管理员用户名和密码后,按登录按钮就可进入系统主界面。如果用户名或密码输入错误会出相应的提示信息。运行时登录界面,如图5.1所示。
图5.1登陆界面
用户登录的代码如下:
public login1() { //登陆界面 setTitle(\用户登录\setSize(WIDTH, HEIGHT);
setLocation((screenWidth - WIDTH) / 2, (screenHeight - HEIGHT) / 2);
JPanel check = new JPanel();
check.setBackground(new Color(230,235,250)); caozuo = new ButtonGroup();
r1 = new JRadioButton(\管理员\r1.setBackground(new Color(230,235,250)); caozuo.add(r1);
setLayout(new BorderLayout());
r2 = new JRadioButton(\职工\caozuo.add(r2);
r2.setBackground(new Color(230,235,250)); check.add(r1); check.add(r2);
add(check, BorderLayout.NORTH); JPanel p1 = new JPanel(); p1.setLayout(new BorderLayout()); add(p1, BorderLayout.CENTER); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); JPanel p4 = new JPanel(); p1.add(p2, BorderLayout.NORTH); p1.add(p3, BorderLayout.CENTER); p1.add(p4, BorderLayout.SOUTH); p2.setBackground(new Color(230,235,250)); p3.setBackground(new Color(230,235,250)); p4.setBackground(new Color(230,235,250)); JLabel lno = new JLabel(\用户名:\JLabel lpassword = new JLabel(\密 码: \tname = new JTextField(10); tpassword = new JPasswordField(10); JButton enter = new JButton(\登录\JButton exit = new JButton(\退出\p2.add(lno); p2.add(tname); p3.add(lpassword); p3.add(tpassword);
p3.setPreferredSize(new Dimension(300, 30)); p4.setPreferredSize(new Dimension(300, 50)); p4.add(enter); p4.add(exit); this.setVisible(true); enter.addActionListener(this);
}
exit.addActionListener(this);
addWindowListener(new WindowAdapter() { });
public void windowClosing(WindowEvent e) { }
System.exit(0);
public void actionPerformed(ActionEvent e) { //验证登录信息正确性
ResultSet rs = null;
sqlconn sqlconn = new sqlconn(); name = tname.getText();
String password = tpassword.getText(); String sql = \try {
if (e.getActionCommand().equals(\登录\{
if (password.length() != 0) {
{
sql = \* from users where name='\+name+ \and }
sql = \ }
type=1;
type=0;
if (r1.isSelected())
password='\
else{
password='\
rs = sqlconn.getRs(sql); if (rs.next()) {
if (type == 0) {
}
}
{ }
mainFrame A = new mainFrame(); }
A.setVisible(true); else if (type == 1)
mainFrame1 B=new mainFrame1(); B.setVisible(true);
this.dispose();
else {
JOptionPane.showMessageDialog(null,\用户名称及密码有误,请重新输入!\
}
}
if (e.getActionCommand().equals(\退出\
{
this.dispose(); } else { }
tname.setText(\ } }
tpassword.setText(\
JOptionPane.showMessageDialog(null, \密码不能为空,请正确输入!\
else
} catch (SQLException ex) {
System.out.println(\
public static void main(String args[]) {
login1 log= new login1();
}
}
当在登陆界面中输入正确信息,按“登录”按钮登陆成功后,则开始调用主界面函数,进入系统主界面,主界面中有用户管理、人员管理、部门管理、工资管理、帮助五个菜单选项,选择某菜单,则就进入对应的功能管理部分,主界面如图5.2所示。
图5.2系统主界面
系统主界面的核心代码如下:
class mainFrame extends Frame implements ActionListener{//实现功能的主界面
Image img; //菜单条式菜单
MenuBar mb=new MenuBar(); Menu usersM=new Menu(\用户管理\Menu employeeM=new Menu(\人员管理\Menu dtmtM=new Menu(\部门管理\Menu wageM=new Menu(\工资管理\Menu helpM=new Menu(\帮助\
MenuItem uInfoMi =new MenuItem(\用户信息\下拉菜单中的选项 MenuItem emQueryMi=new MenuItem(\员工信息查询\MenuItem addEmMi=new MenuItem(\添加员工信息\MenuItem wQueryMi=new MenuItem(\工资查询\MenuItem addWageMi=new MenuItem(\添加工资信息\MenuItem dtmtInfoMi=new MenuItem(\部门信息\MenuItem addDtmtMi=new MenuItem(\添加部门信息\