精华内容
下载资源
问答
  • java管理员登陆界面

    2013-04-11 21:04:04
    用于数据开发的前台界面设计,更便捷的开发环境
  • Java实现简单登录界面

    2020-08-09 13:46:43
    最近刚刚学习Java,试着做了一个简单的登录注册界面,只是点击按钮之后输出响应,并没有完成后续的跳转操作。
  • Java学生成绩管理系统界面设计(包括登录界面界面切换),内含学生成绩管理系统各用户应有功能模块设计。 登录界面 package Panel; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event...

    Java学生成绩管理系统界面设计(包括登录界面及界面切换),内含学生成绩管理系统各用户应有功能模块设计。

    登录界面

    package Panel;

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.*;

    /*

    • 登录界面
      */
      public class Login{
      JFrame frame;
      ImageIcon logo;
      JLabel jl1,jl2,jl3;
      JTextField name;
      JPasswordField password;
      JRadioButton stu,tea,adm;
      ButtonGroup group;
      JButton b1;
      public Login() {
      frame=new JFrame(“学生成绩管理系统”);
      frame.setLayout(new FlowLayout());

       //登录界面布局
       logo=new ImageIcon("C:/Users/雷晨宇/eclipse-workspace/Student_Grade/logo.png");
       jl1=new JLabel(logo);
       frame.add(jl1);
       
       jl2=new JLabel("账号");
       jl2.setPreferredSize(new Dimension(150,30));
       frame.add(jl2);
       
       name=new JTextField();
       name.setPreferredSize(new Dimension(250, 30));
       frame.add(name);
       
       jl3=new JLabel("密码");
       jl3.setPreferredSize(new Dimension(150,30));
       frame.add(jl3);
       
       password=new JPasswordField();
       password.setPreferredSize(new Dimension(250, 30));
       frame.add(password);
       
       JLabel null1=new JLabel();
       null1.setPreferredSize(new Dimension(140,30));
       frame.add(null1);
       
       //学生,教师,管理员单选框设置
       group=new ButtonGroup();
       stu=new JRadioButton("学生");
       tea=new JRadioButton("教师");
       adm=new JRadioButton("管理员");
       frame.add(stu);group.add(stu);
       frame.add(tea);group.add(tea);
       frame.add(adm);group.add(adm);
       
       JLabel null2=new JLabel();
       null2.setPreferredSize(new Dimension(140,30));
       frame.add(null2);
       
       b1=new JButton("登录");
       frame.add(b1);
       
       //登录时选择登陆用户:学生,教师,管理员
       b1.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		if(stu.isSelected()) {
       			if(name.getText().equals("1")&&new String(password.getPassword()).equals("1")) {
       				JOptionPane.showMessageDialog(null,"登录成功");
       				new StudentPanel(name.getText());
       				frame.dispose();
       			}else {
       				JOptionPane.showMessageDialog(null, "登录失败");
       				name.setText("");password.setText("");
       			}
       		}else if(tea.isSelected()) {
       			if(name.getText().trim().equals("1")&&new String(password.getPassword()).equals("1")) {
       				JOptionPane.showMessageDialog(null,"登录成功");
       				new TeacherPanel(name.getText());
       				frame.dispose();
       			}else {
       				JOptionPane.showMessageDialog(null, "登录失败");
       				name.setText("");password.setText("");
       			}
       		}else if(adm.isSelected()) {
       			if(name.getText().trim().equals("1")&&new String(password.getPassword()).equals("1")) {
       				JOptionPane.showMessageDialog(null,"登录成功");
       				new AdmPanel();
       				frame.dispose();
       			}else {
       				JOptionPane.showMessageDialog(null, "登录失败");
       				name.setText("");password.setText("");
       			}
       		}
       		
       	}
       		
       });
      
       frame.setSize(540,300);
       frame.setVisible(true);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      

      }

    }

    学生用户界面

    package Panel;

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.*;
    import javax.swing.table.DefaultTableCellRenderer;

    /*

    • 学生用户界面
      */
      public class StudentPanel {
      JFrame frame;
      JLabel l1,l2,l3,l4,l5,l6;
      JTextField tf1,tf2,tf3,tf4,tf5,tf6;
      JButton b1,b2,b3,b4,b5;
      public StudentPanel(String stuid){
      frame=new JFrame(“学生成绩管理系统”);
      frame.setLayout(new BorderLayout());

       //学生用户界面布局
       tf1=new JTextField();tf1.setText("欢迎"+stuid+"同学进入学生成绩管理系统");
       tf1.setBackground(Color.CYAN);tf1.setEditable(false);
       JPanel p1=new JPanel(new FlowLayout(FlowLayout.RIGHT));
       p1.add(tf1);
       
       b1=new JButton("显示个人信息");
       b2=new JButton("查询单科成绩");
       b3=new JButton("查询全部成绩");
       b4=new JButton("修改密码");
       b5=new JButton("退出");
       JPanel p2=new JPanel(new FlowLayout());
       p2.add(b1);p2.add(b2);p2.add(b3);
       p2.add(b4);p2.add(b5);
       JPanel p=new JPanel(new GridLayout(2,1));
       p.add(p1);p.add(p2);
       frame.add(p,BorderLayout.NORTH);
       
       
       //显示,修改学生基本信息
       b1.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("学号");tf1=new JTextField();	
       		l2=new JLabel("姓名");tf2=new JTextField();		
       		l3=new JLabel("性别");tf3=new JTextField();		
       		l4=new JLabel("出生日期");tf4=new JTextField();		
       		l5=new JLabel("专业");tf5=new JTextField();
       		l6=new JLabel("班级");tf6=new JTextField();
       		
       		l1.setPreferredSize(new Dimension(150,30));
       		tf1.setPreferredSize(new Dimension(250,30));
       		l2.setPreferredSize(new Dimension(150,30));
       		tf2.setPreferredSize(new Dimension(250,30));
       		l3.setPreferredSize(new Dimension(150,30));
       		tf3.setPreferredSize(new Dimension(250,30));
       		l4.setPreferredSize(new Dimension(150,30));
       		tf4.setPreferredSize(new Dimension(250,30));
       		l5.setPreferredSize(new Dimension(150,30));
       		tf5.setPreferredSize(new Dimension(250,30));
       		l6.setPreferredSize(new Dimension(150,30));
       		tf6.setPreferredSize(new Dimension(250,30));
       		
       		//学生不可修改学号,专业,班级,文本框设置不可编辑
       		tf1.setBackground(Color.LIGHT_GRAY);tf1.setEditable(false);
       		tf5.setBackground(Color.LIGHT_GRAY);tf5.setEditable(false);
       		tf6.setBackground(Color.LIGHT_GRAY);tf6.setEditable(false);
       		
       		b1=new JButton("保存");b2=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(l1);ShowStudent.add(tf1);
       		ShowStudent.add(l2);ShowStudent.add(tf2);
       		ShowStudent.add(l3);ShowStudent.add(tf3);
       		ShowStudent.add(l4);ShowStudent.add(tf4);
       		ShowStudent.add(l5);ShowStudent.add(tf5);
       		ShowStudent.add(l6);ShowStudent.add(tf6);
      
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(140,30));
       		ShowStudent.add(null1);
       		
       		ShowStudent.add(b1);ShowStudent.add(b2);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//保存修改信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"成功保存");
       			}
       		});
       		
       		//返回学生用户主界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
      
       //查询单科成绩,输入课程名,显示成绩
       b2.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("课程名");tf1=new JTextField();
       		l2=new JLabel("成绩");tf2=new JTextField();
       		
       		l1.setPreferredSize(new Dimension(150,30));
       		tf1.setPreferredSize(new Dimension(250,30));
       		l2.setPreferredSize(new Dimension(150,30));
       		tf2.setPreferredSize(new Dimension(250,30));
       		
       		b1=new JButton("查询");b2=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(l1);ShowStudent.add(tf1);
       		ShowStudent.add(l2);ShowStudent.add(tf2);
      
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(140,30));
       		ShowStudent.add(null1);
       		
       		ShowStudent.add(b1);ShowStudent.add(b2);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//查询单科成绩
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				if(tf1.getText().equals("")) {
       					JOptionPane.showMessageDialog(null,"输入课程不存在,请重新输入");
       				}
       			}
       		});
       		
       		//返回学生用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
       
       //查询成绩单,显示所有成绩
       b3.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//添加滑动窗口
       		JScrollPane jscrollpane=new JScrollPane();
       		
       		//添加表格
       		Object[] columnNames=new Object[]{"课程号","课程名","成绩"};//列名
       		Object[][] rowData=new Object[100][3];//行数,列数
       		JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		
       		b1=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(jscrollpane);
       		ShowStudent.add(b1);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//返回学生用户界面
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
      
       //修改密码
       b4.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("请输入原密码");tf1=new JTextField();
       		l2=new JLabel("请输入新密码");JPasswordField tf2=new JPasswordField();
       		l3=new JLabel("请再次输入新密码");JPasswordField tf3=new JPasswordField();
       		
       		l1.setPreferredSize(new Dimension(150,30));
       		tf1.setPreferredSize(new Dimension(250,30));
       		l2.setPreferredSize(new Dimension(150,30));
       		tf2.setPreferredSize(new Dimension(250,30));
       		l3.setPreferredSize(new Dimension(150,30));
       		tf3.setPreferredSize(new Dimension(250,30));
       		
       		b1=new JButton("确定");b2=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(l1);ShowStudent.add(tf1);
       		ShowStudent.add(l2);ShowStudent.add(tf2);
       		ShowStudent.add(l3);ShowStudent.add(tf3);
      
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(140,30));
       		ShowStudent.add(null1);
       		
       		ShowStudent.add(b1);ShowStudent.add(b2);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//确定修改
       		b1.addActionListener(new ActionListener() {
       			@SuppressWarnings("deprecation")
       			public void actionPerformed(ActionEvent e) {
       				//输入均为空提示
       				if(tf1.getText().equals("") || tf2.getText().equals("") || tf3.getText().equals("")) {
       					JOptionPane.showMessageDialog(null,"输入信息不完整,请重新输入");
       				}
       				//新密码验证一致,修改成功
       				else if(tf2.getText().equals(tf3.getText())) {
       					JOptionPane.showMessageDialog(null,"密码修改成功");
       					tf1.setText("");tf2.setText("");tf3.setText("");
       				}
       				//新密码验证不一致,修改失败
       				else {
       					JOptionPane.showMessageDialog(null,"两次输入不一致,请重新输入");
       					tf2.setText("");tf3.setText("");
       				}
       			}
       		});
       		
       		//返回学生用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
       
       //退出,返回登录界面
       b5.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		new Login();
       		frame.setVisible(false);
       	}
       });
       frame.setSize(540,650);
       frame.setVisible(true);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      

      }

    }

    教师用户界面

    package Panel;

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.*;
    import javax.swing.table.DefaultTableCellRenderer;

    /*

    • 学生用户界面
      */
      public class StudentPanel {
      JFrame frame;
      JLabel l1,l2,l3,l4,l5,l6;
      JTextField tf1,tf2,tf3,tf4,tf5,tf6;
      JButton b1,b2,b3,b4,b5;
      public StudentPanel(String stuid){
      frame=new JFrame(“学生成绩管理系统”);
      frame.setLayout(new BorderLayout());

       //学生用户界面布局
       tf1=new JTextField();tf1.setText("欢迎"+stuid+"同学进入学生成绩管理系统");
       tf1.setBackground(Color.CYAN);tf1.setEditable(false);
       JPanel p1=new JPanel(new FlowLayout(FlowLayout.RIGHT));
       p1.add(tf1);
       
       b1=new JButton("显示个人信息");
       b2=new JButton("查询单科成绩");
       b3=new JButton("查询全部成绩");
       b4=new JButton("修改密码");
       b5=new JButton("退出");
       JPanel p2=new JPanel(new FlowLayout());
       p2.add(b1);p2.add(b2);p2.add(b3);
       p2.add(b4);p2.add(b5);
       JPanel p=new JPanel(new GridLayout(2,1));
       p.add(p1);p.add(p2);
       frame.add(p,BorderLayout.NORTH);
       
       
       //显示,修改学生基本信息
       b1.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("学号");tf1=new JTextField();	
       		l2=new JLabel("姓名");tf2=new JTextField();		
       		l3=new JLabel("性别");tf3=new JTextField();		
       		l4=new JLabel("出生日期");tf4=new JTextField();		
       		l5=new JLabel("专业");tf5=new JTextField();
       		l6=new JLabel("班级");tf6=new JTextField();
       		
       		l1.setPreferredSize(new Dimension(150,30));
       		tf1.setPreferredSize(new Dimension(250,30));
       		l2.setPreferredSize(new Dimension(150,30));
       		tf2.setPreferredSize(new Dimension(250,30));
       		l3.setPreferredSize(new Dimension(150,30));
       		tf3.setPreferredSize(new Dimension(250,30));
       		l4.setPreferredSize(new Dimension(150,30));
       		tf4.setPreferredSize(new Dimension(250,30));
       		l5.setPreferredSize(new Dimension(150,30));
       		tf5.setPreferredSize(new Dimension(250,30));
       		l6.setPreferredSize(new Dimension(150,30));
       		tf6.setPreferredSize(new Dimension(250,30));
       		
       		//学生不可修改学号,专业,班级,文本框设置不可编辑
       		tf1.setBackground(Color.LIGHT_GRAY);tf1.setEditable(false);
       		tf5.setBackground(Color.LIGHT_GRAY);tf5.setEditable(false);
       		tf6.setBackground(Color.LIGHT_GRAY);tf6.setEditable(false);
       		
       		b1=new JButton("保存");b2=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(l1);ShowStudent.add(tf1);
       		ShowStudent.add(l2);ShowStudent.add(tf2);
       		ShowStudent.add(l3);ShowStudent.add(tf3);
       		ShowStudent.add(l4);ShowStudent.add(tf4);
       		ShowStudent.add(l5);ShowStudent.add(tf5);
       		ShowStudent.add(l6);ShowStudent.add(tf6);
      
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(140,30));
       		ShowStudent.add(null1);
       		
       		ShowStudent.add(b1);ShowStudent.add(b2);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//保存修改信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"成功保存");
       			}
       		});
       		
       		//返回学生用户主界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
      
       //查询单科成绩,输入课程名,显示成绩
       b2.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("课程名");tf1=new JTextField();
       		l2=new JLabel("成绩");tf2=new JTextField();
       		
       		l1.setPreferredSize(new Dimension(150,30));
       		tf1.setPreferredSize(new Dimension(250,30));
       		l2.setPreferredSize(new Dimension(150,30));
       		tf2.setPreferredSize(new Dimension(250,30));
       		
       		b1=new JButton("查询");b2=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(l1);ShowStudent.add(tf1);
       		ShowStudent.add(l2);ShowStudent.add(tf2);
      
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(140,30));
       		ShowStudent.add(null1);
       		
       		ShowStudent.add(b1);ShowStudent.add(b2);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//查询单科成绩
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				if(tf1.getText().equals("")) {
       					JOptionPane.showMessageDialog(null,"输入课程不存在,请重新输入");
       				}
       			}
       		});
       		
       		//返回学生用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
       
       //查询成绩单,显示所有成绩
       b3.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//添加滑动窗口
       		JScrollPane jscrollpane=new JScrollPane();
       		
       		//添加表格
       		Object[] columnNames=new Object[]{"课程号","课程名","成绩"};//列名
       		Object[][] rowData=new Object[100][3];//行数,列数
       		JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		
       		b1=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(jscrollpane);
       		ShowStudent.add(b1);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//返回学生用户界面
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
      
       //修改密码
       b4.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("请输入原密码");tf1=new JTextField();
       		l2=new JLabel("请输入新密码");JPasswordField tf2=new JPasswordField();
       		l3=new JLabel("请再次输入新密码");JPasswordField tf3=new JPasswordField();
       		
       		l1.setPreferredSize(new Dimension(150,30));
       		tf1.setPreferredSize(new Dimension(250,30));
       		l2.setPreferredSize(new Dimension(150,30));
       		tf2.setPreferredSize(new Dimension(250,30));
       		l3.setPreferredSize(new Dimension(150,30));
       		tf3.setPreferredSize(new Dimension(250,30));
       		
       		b1=new JButton("确定");b2=new JButton("退出");
       		
       		JPanel ShowStudent=new JPanel();
       		ShowStudent.setLayout(new FlowLayout());
       		
       		ShowStudent.add(l1);ShowStudent.add(tf1);
       		ShowStudent.add(l2);ShowStudent.add(tf2);
       		ShowStudent.add(l3);ShowStudent.add(tf3);
      
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(140,30));
       		ShowStudent.add(null1);
       		
       		ShowStudent.add(b1);ShowStudent.add(b2);
       		frame.add(ShowStudent,BorderLayout.CENTER);
       		
       		//确定修改
       		b1.addActionListener(new ActionListener() {
       			@SuppressWarnings("deprecation")
       			public void actionPerformed(ActionEvent e) {
       				//输入均为空提示
       				if(tf1.getText().equals("") || tf2.getText().equals("") || tf3.getText().equals("")) {
       					JOptionPane.showMessageDialog(null,"输入信息不完整,请重新输入");
       				}
       				//新密码验证一致,修改成功
       				else if(tf2.getText().equals(tf3.getText())) {
       					JOptionPane.showMessageDialog(null,"密码修改成功");
       					tf1.setText("");tf2.setText("");tf3.setText("");
       				}
       				//新密码验证不一致,修改失败
       				else {
       					JOptionPane.showMessageDialog(null,"两次输入不一致,请重新输入");
       					tf2.setText("");tf3.setText("");
       				}
       			}
       		});
       		
       		//返回学生用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				ShowStudent.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       	}
       });
       
       //退出,返回登录界面
       b5.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		new Login();
       		frame.setVisible(false);
       	}
       });
       frame.setSize(540,650);
       frame.setVisible(true);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      

      }

    }

    管理员用户界面

    package Panel;

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.*;
    import javax.swing.table.DefaultTableCellRenderer;

    /*

    • 管理员用户界面
      */
      public class AdmPanel {
      JFrame frame;
      JPanel p1,p2,p3;
      JLabel l1,l2,l3,l4,l5,l6;
      JTextField tf1,tf2,tf3,tf4,tf5,tf6;
      JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12;
      public AdmPanel(){
      frame=new JFrame(“学生成绩管理系统”);
      frame.setLayout(new BorderLayout());

       //管理员用户界面布局
       tf1=new JTextField();tf1.setText("欢迎进入学生成绩管理系统");
       tf1.setBackground(Color.CYAN);tf1.setEditable(false);
       p1=new JPanel(new FlowLayout(FlowLayout.RIGHT));
       p1.add(tf1);
       
       b1=new JButton("添加学生");b2=new JButton("添加教师");b3=new JButton("添加课程");
       b4=new JButton("查询学生");b5=new JButton("查询教师");b6=new JButton("查询课程");
       b7=new JButton("删除学生");b8=new JButton("删除教师");b9=new JButton("删除课程");
       b10=new JButton("查询成绩");b11=new JButton("成绩汇总");b12=new JButton("退出");
       p2=new JPanel(new GridLayout(2,6));
       p2.add(b1);p2.add(b2);p2.add(b3);
       p2.add(b4);p2.add(b5);p2.add(b6);
       p2.add(b7);p2.add(b8);p2.add(b9);
       p2.add(b10);p2.add(b11);p2.add(b12);
       JPanel p=new JPanel(new GridLayout(2,1));
       p.add(p1);p.add(p2);
       frame.add(p,BorderLayout.NORTH);
       
       //添加学生信息
       b1.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("专业");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("班级");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		l3=new JLabel("学号");l3.setPreferredSize(new Dimension(200,30));
       		tf3=new JTextField();tf3.setPreferredSize(new Dimension(300,30));
       		p3.add(l3);p3.add(tf3);
       		
       		l4=new JLabel("姓名");l4.setPreferredSize(new Dimension(200,30));
       		tf4=new JTextField();tf4.setPreferredSize(new Dimension(300,30));
       		p3.add(l4);p3.add(tf4);
       		
       		l5=new JLabel("性别");l5.setPreferredSize(new Dimension(200,30));
       		tf5=new JTextField();tf5.setPreferredSize(new Dimension(300,30));
       		p3.add(l5);p3.add(tf5);
       		
       		l6=new JLabel("出生日期");l6.setPreferredSize(new Dimension(200,30));
       		tf6=new JTextField();tf6.setPreferredSize(new Dimension(300,30));
       		p3.add(l6);p3.add(tf6);
       		
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(50,30));
       		p3.add(null1);
       		
       		b1=new JButton("添加");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//确定添加
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"添加成功");
       				}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
       
       //添加教师信息
       b2.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("教师工号");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("教师姓名");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		l3=new JLabel("性别");l3.setPreferredSize(new Dimension(200,30));
       		tf3=new JTextField();tf3.setPreferredSize(new Dimension(300,30));
       		p3.add(l3);p3.add(tf3);
       		
       		l4=new JLabel("出生日期");l4.setPreferredSize(new Dimension(200,30));
       		tf4=new JTextField();tf4.setPreferredSize(new Dimension(300,30));
       		p3.add(l4);p3.add(tf4);
       		
       		l5=new JLabel("所带课程");l5.setPreferredSize(new Dimension(200,30));
       		tf5=new JTextField();tf5.setPreferredSize(new Dimension(300,30));
       		p3.add(l5);p3.add(tf5);
       		
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(50,30));
       		p3.add(null1);
       		
       		b1=new JButton("添加");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//确定添加
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"添加成功");
       				}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //添加课程信息
       b3.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("课程号");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("课程名");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		l3=new JLabel("授课教师");l3.setPreferredSize(new Dimension(200,30));
       		tf3=new JTextField();tf3.setPreferredSize(new Dimension(300,30));
       		p3.add(l3);p3.add(tf3);
       		
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(50,30));
       		p3.add(null1);
       		
       		b1=new JButton("添加");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//确定添加
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"添加成功");
       				}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //查询学生信息
       b4.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("专业");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("班级");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		l3=new JLabel("学生学号");l3.setPreferredSize(new Dimension(200,30));
       		tf3=new JTextField();tf3.setPreferredSize(new Dimension(300,30));
       		p3.add(l3);p3.add(tf3);
       		
       		JScrollPane jscrollpane=new JScrollPane();
       		Object[] columnNames=new Object[]{"专业","班级","学号","姓名","性别","年龄"};//列名
       		Object[][] rowData=new Object[20000][6];//行数,列数
       		 JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		p3.add(jscrollpane);
       		
       		b1=new JButton("查询");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入查询学生信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				
       			}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //查询教师信息
       b5.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("按教师工号查询");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("按课程查询");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		JScrollPane jscrollpane=new JScrollPane();
       		
       		Object[] columnNames=new Object[]{"教师工号","姓名","所带课程"};//列名
       		Object[][] rowData=new Object[1000][3];//行数,列数
       		JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		p3.add(jscrollpane);
       		
       		b1=new JButton("查询");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入查询教师信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				
       			}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //查询课程信息
       b6.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("课程号");l1.setPreferredSize(new Dimension(150,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(250,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("课程名");l2.setPreferredSize(new Dimension(150,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(250,30));
       		p3.add(l2);p3.add(tf2);
       		
       		l3=new JLabel("专业");l3.setPreferredSize(new Dimension(150,30));
       		tf3=new JTextField();tf3.setPreferredSize(new Dimension(250,30));
       		p3.add(l3);p3.add(tf3);
      
       		l4=new JLabel("教师工号");l4.setPreferredSize(new Dimension(150,30));
       		tf4=new JTextField();tf4.setPreferredSize(new Dimension(250,30));
       		p3.add(l4);p3.add(tf4);
       		
       		JScrollPane jscrollpane=new JScrollPane();
       		
       		Object[] columnNames=new Object[]{"课程号","课程名","代课教师号","代课教师","上课专业"};//列名
       		Object[][] rowData=new Object[500][5];//行数,列数
       		 JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		p3.add(jscrollpane);
       		
       		b1=new JButton("查询");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入查询课程信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				
       			}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
       
       //删除学生信息
       b7.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("学生学号");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("学生姓名");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		l3=new JLabel("学生专业");l3.setPreferredSize(new Dimension(200,30));
       		tf3=new JTextField();tf3.setPreferredSize(new Dimension(300,30));
       		p3.add(l3);p3.add(tf3);
       		
       		l4=new JLabel("学生班级");l4.setPreferredSize(new Dimension(200,30));
       		tf4=new JTextField();tf4.setPreferredSize(new Dimension(300,30));
       		p3.add(l4);p3.add(tf4);
       		
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(50,30));
       		p3.add(null1);
       		
       		b1=new JButton("验证信息");b2=new JButton("删除");b3=new JButton("退出");
       		p3.add(b1);p3.add(b2);p3.add(b3);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入显示学生信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				
       			}
       		});
      
       		//根据输入删除学生信息
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"已删除");
       				tf1.setText("");tf2.setText("");
       				tf3.setText("");tf4.setText("");
       			}
       		});
       		
       		//返回管理员用户界面
       		b3.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //删除教师信息
       b8.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("教师工号");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("教师姓名");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(50,30));
       		p3.add(null1);
       		
       		b1=new JButton("验证信息");b2=new JButton("删除");b3=new JButton("退出");
       		p3.add(b1);p3.add(b2);p3.add(b3);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入显示教师信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				
       			}
       		});
      
       		//根据输入删除教师信息
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"已删除");
       				tf1.setText("");tf2.setText("");
       			}
       		});
       		
       		//返回管理员用户界面
       		b3.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //删除课程信息
       b9.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("课程号");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
       		
       		l2=new JLabel("课程名");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
       		
       		JLabel null1=new JLabel();
       		null1.setPreferredSize(new Dimension(50,30));
       		p3.add(null1);
       		
       		b1=new JButton("验证信息");b2=new JButton("删除");b3=new JButton("退出");
       		p3.add(b1);p3.add(b2);p3.add(b3);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入显示课程信息
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				
       			}
       		});
      
       		//根据输入删除课程信息
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				JOptionPane.showMessageDialog(null,"已删除");
       				tf1.setText("");tf2.setText("");
       			}
       		});
       		
       		//返回管理员用户界面
       		b3.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //按需求查询成绩
       b10.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		l1=new JLabel("请输入专业班级");l1.setPreferredSize(new Dimension(200,30));
       		tf1=new JTextField();tf1.setPreferredSize(new Dimension(300,30));
       		p3.add(l1);p3.add(tf1);
      
       		l2=new JLabel("请输入课程名");l2.setPreferredSize(new Dimension(200,30));
       		tf2=new JTextField();tf2.setPreferredSize(new Dimension(300,30));
       		p3.add(l2);p3.add(tf2);
      
       		JScrollPane jscrollpane=new JScrollPane();
       		Object[] columnNames=new Object[]{"课程号","课程名","学生学号","学生姓名","学生成绩"};//列名
       		Object[][] rowData=new Object[300][5];//行数,列数
       		 JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		p3.add(jscrollpane);
       		
       		b1=new JButton("显示成绩");b2=new JButton("退出");
       		p3.add(b1);p3.add(b2);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//根据输入显示学生成绩
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				if(tf1.getText().equals("") && tf2.getText().equals("")) {
       					JOptionPane.showMessageDialog(null,"信息不完整,请重新输入");
       					tf1.setText("");
       				}
       			}
       		});
       		
       		//返回管理员用户界面
       		b2.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //显示所有学生成绩,并按一定规则排序
       b11.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		p2.setVisible(false);
       		
       		p3=new JPanel(new FlowLayout());
       		
       		//设置标签,文本框,按钮布局
       		JScrollPane jscrollpane=new JScrollPane();
       		Object[] columnNames=new Object[]{"课程号","课程名","学生学号","学生姓名","学生成绩"};//列名
       		Object[][] rowData=new Object[300][5];//行数,列数
       		JTable table=new JTable(rowData,columnNames);
       		jscrollpane.setViewportView(table);
       		table.setRowHeight(25);
       		DefaultTableCellRenderer r = new DefaultTableCellRenderer();    
       		r.setHorizontalAlignment(JLabel.CENTER);   
       		table.setDefaultRenderer(Object.class,r);
       		p3.add(jscrollpane);
       		
       		b1=new JButton("退出");
       		p3.add(b1);
       		frame.add(p3,BorderLayout.CENTER);
       		
       		//返回管理员用户界面
       		b1.addActionListener(new ActionListener() {
       			public void actionPerformed(ActionEvent e) {
       				p3.setVisible(false);
       				p1.setVisible(true);p2.setVisible(true);
       			}
       		});
       		
       	}
       });
      
       //返回登录界面
       b12.addActionListener(new ActionListener() {
       	public void actionPerformed(ActionEvent e) {
       		new Login();
       		frame.setVisible(false);
       	}
       });
       frame.setSize(550,750);
       frame.setVisible(true);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      

      }

    }

    展开全文
  • java JFrame版的登陆界面

    热门讨论 2012-08-22 20:02:41
    最简单的java基于JFrame版的登陆界面
  • Java图书管理系统登陆界面

    千次阅读 多人点赞 2019-07-17 10:47:57
    界面效果: 实现代码: package menu; import java.awt.Dimension; import java.awt.Font; import java.awt.Image; import java.awt.Toolkit; import javax.swing.Icon; import javax.swing.ImageIcon; ...

    界面效果:

    实现代码:

    package menu;
    
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.Image;
    import java.awt.Toolkit;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    public class SignMenu {
    	public void init() {
    		
    		JFrame f = new JFrame("欢迎使用图书管理系统");
    		
    		
    		//改变窗口图标
    		Toolkit t = Toolkit.getDefaultToolkit();
    		Image img = t.getImage("src\\menu\\sign.jpg");
    		f.setIconImage(img);
    		
    		//设置窗口大小
    		f.setSize(600, 600);
    		
    		//使窗口居中
    		f.setLocationRelativeTo(null);
    		
    		//设置布局为空
    		f.setLayout(null);
    		
    		//设置窗口背景图案
    		Icon i = new ImageIcon("src\\menu\\background1.jpg");
    		JLabel jLable = new JLabel(i);
    		jLable.setBounds(0, 0, 600, 600);
    		
    		
    		JPanel panel1 = new JPanel();
    		JPanel panel2 = new JPanel();
    		JPanel panel3 = new JPanel();
    		JPanel panel4 = new JPanel();
    		JPanel panel5 = new JPanel();
    		JPanel panel6 = new JPanel();
    		
    		
    		/*添加大标题:图书管理系统*/
    		JLabel lable = new JLabel("图书管理系统");
    		Font font = new Font("宋体",Font.BOLD,40);//设置字体
    		lable.setFont(font);
    		panel1.add(lable);
    		panel1.setBounds(140, 60, 300, 300);//设置面板大小
    		f.add(panel1);
    		
    		
    		/*用户类型标签*/
    		JLabel user = new JLabel("用户类型  ");
    		Font font1 = new Font("宋体",Font.BOLD,25);
    		user.setFont(font1);
    		panel2.add(user);
    			
    			
    		/*用户类型的下拉框*/
    		JComboBox<String> j = new JComboBox<String>();
    		Dimension dimension = new Dimension(200,30);//框框的大小
    		j.setPreferredSize(dimension);
    		j.addItem("普通用户");
    		j.addItem("管理员用户");
    		Font font2 = new Font("宋体",Font.BOLD,15);
    		j.setFont(font2);
    		panel2.setBounds(90, 160, 400, 300);
    		panel2.add(j);
    		f.add(panel2);
    		
    		
    		/*账号标签*/
    		JLabel labid = new JLabel("   账号: ");
    		Font font3 = new Font("宋体",Font.BOLD,25);	
    		labid.setFont(font3);
    		panel3.add(labid);
    		
    		/*输入账户的文本框*/
    		JTextField id = new JTextField();
    		id.setPreferredSize(dimension);
    		panel3.add(id);
    		panel3.setBounds(90, 230, 400, 300);
    		f.add(panel3);
    		
    		
    		/*密码标签*/
    		JLabel labpassword = new JLabel("   密码: ");
    		Font font4 = new Font("宋体",Font.BOLD,25);
    		labpassword.setFont(font4);
    		panel4.add(labpassword);
    		
    		/*输入密码文本框*/
    		JPasswordField password = new JPasswordField();
    		password.setPreferredSize(dimension);
    		Font font5 = new Font("宋体",Font.BOLD,25);	
    		password.setFont(font5);
    		panel4.add(password);
    		panel4.setBounds(90, 290, 400, 300);
    		f.add(panel4);
    		
    		
    		/*注册登陆按钮*/
    		JButton button1 = new JButton("注册");
    		JButton button2 = new JButton("登陆");
    		button1.setFont(font4);
    		button2.setFont(font4);
    		Dimension dimension2 = new Dimension(100,50);
    		button1.setPreferredSize(dimension2);
    		button2.setPreferredSize(dimension2);
    		panel5.add(button1);
    		panel6.add(button2);
    		panel5.setBounds(150, 370, 150, 400);
    		panel6.setBounds(330, 370, 150, 400);
    		f.add(panel5);
    		f.add(panel6);
    		
    		
                    //把组件变成透明
    		panel1.setOpaque(false);
    		panel2.setOpaque(false);
    		panel3.setOpaque(false);
    		panel4.setOpaque(false);
    		panel5.setOpaque(false);
    		panel6.setOpaque(false);
    		
    		f.add(jLable);
    		
    		//设置不可改变窗口大小
    		f.setResizable(false);
    		f.setVisible(true);
    		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    }
    

     

    展开全文
  • java框架SSM的用户,管理员,快递员的注册登录,java框架SSM的用户,管理员,快递员的注册登录
  • Java写的GUI界面,主要实现管理员登陆,新增图书,删除图书,修改图书信息,借阅图书,新增读者信息,修改和删除读者信息,就是这么多吧
  • Java实现登陆注册界面

    千次阅读 多人点赞 2020-06-28 19:04:52
    1.java swing (也可采用SWT designer进行辅助界面设计 ) 所用组件: JButton:登陆 JLabel:使用JLabel(new ImgeIcon(url)),进行背景设置,最好使用相对地址 "/" 将图片放在程序文件之中,也可使用本地

    一、工具准备
    1.Java开发集成工具 : mycilpse (可以采用更先进的idea intellij)
    2.包:jdbc包
    3.数据库:sql server

    二、知识需求

           1.java swing (也可采用SWT designer进行辅助界面设计 )
           
           所用组件:
           JButton:登陆
           JLabel:使用JLabel(new ImgeIcon(url)),进行背景设置,最好使用相对地址 "/" 将图片放在程序文件之中,也可使用本地地址:“\"
           JTextField:文本框,进行账号和密码输入
           JComboBox:下拉列表框,进行登陆角色选择
           
           更多可以参考这个博主文章或者官方文档,写得很全。[Swing 学习](https://blog.csdn.net/xietansheng/article/details/72814492)
           
           2.sql (连数据库请见 https://blog.csdn.net/qq_44654974/article/details/106676570)
         
          登陆注册:只需要进行用户检测和添加
          select * from usertable 
          Insert usertable values('Username','Password')
    

    三、代码

    登陆界面:

    package View;
    
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    public class Login extends JFrame {
    	public static String usern;
    
    	public static void main(String args[]) {
    		new Login();
    	}
    
    	Login() {
    		Content();
    		this.setTitle("企业员工健康系统");
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		this.setLocation(600, 300);
    		this.setSize(800, 560);
    		this.setVisible(true);
    	}
    
    	void Content() {
    
    		// 背景设置
    		JLabel bg = new JLabel(new ImageIcon("Images/LoginIcon/LoginBg.png"));
    		this.setContentPane(bg);
    
    		// 登陆板块内容
    
    		JLabel logo = new JLabel("你的健康,我来负责");
    		logo.setBounds(20, 20, 180, 25);
    		logo.setFont(new Font(null, Font.BOLD, 16));// 字体设置
    		logo.setForeground(Color.orange);
    		this.add(logo);
    
    		JLabel label = new JLabel("欢迎登陆");
    		label.setBounds(380, 180, 120, 25);
    		label.setFont(new Font(null, Font.BOLD, 18));// 字体设置
    		this.add(label);
    
    		JLabel User = new JLabel("账号");
    		User.setBounds(320, 222, 30, 25);
    		User.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(User);
    
    		JLabel User1 = new JLabel(new ImageIcon("Images/LoginIcon/User.png"));
    		User1.setBounds(350, 220, 30, 30);
    		this.add(User1);
    
    		JLabel Password = new JLabel("密码");
    		Password.setBounds(320, 254, 30, 25);
    		Password.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(Password);
    
    		JLabel Password1 = new JLabel(new ImageIcon("Images/LoginIcon/Lock.png"));
    		Password1.setBounds(352, 250, 30, 30);
    		this.add(Password1);
    
    		JLabel Type = new JLabel("用户");
    		Type.setBounds(320, 286, 30, 25);
    		Type.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(Type);
    
    		JLabel Type1 = new JLabel(new ImageIcon("Images/LoginIcon/Type.png"));
    		Type1.setBounds(350, 280, 30, 30);
    		this.add(Type1);
    
    		// 文本框和按钮
    
    		JButton btn = new JButton("登陆");
    		btn.setBounds(320, 320, 70, 25);
    		this.add(btn);
    
    		JButton btn1 = new JButton("注册");
    		btn1.setBounds(430, 320, 70, 25);
    		this.add(btn1);
    
    		JTextField User2 = new JTextField();
    		User2.setBounds(380, 222, 120, 25);
    		this.add(User2);
    
    		JPasswordField Password2 = new JPasswordField();
    		Password2.setBounds(380, 254, 120, 25);
    		this.add(Password2);
    
    		String[] listData = new String[] { "员工", "企业管理者", "系统管理员" };
    		JComboBox<String> type1 = new JComboBox<String>(listData);
    
    		type1.setBounds(380, 284, 120, 25);
    		this.add(type1);
    
    		JPanel panel = new JPanel(null);
    		panel.setBounds(290, 170, 245, 200);
    		panel.setBackground(Color.WHITE);
    		panel.setBorder(BorderFactory.createLineBorder(Color.gray));
    		this.add(panel);
    
    		JLabel Mention = new JLabel("");
    		Mention.setBounds(310, 100, 280, 25);
    		Mention.setForeground(Color.RED);
    		Mention.setFont(new Font(null, Font.BOLD, 14));
    		this.add(Mention);
    
    		// 登陆事件
    		btn.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				// System.out.print(type1.getSelectedIndex());
    				String LoginID = User2.getText();
    				String password = Password2.getText();
    				String type = listData[type1.getSelectedIndex()];
    
    				if (new Data.Login().Check(LoginID, password, type)) {
    					dispose();
    
    					if (type.equals("员工")) {
    						usern = LoginID;
    						new EmployMain().open();
    					} else if (type.equals("企业管理者")) {
    						new Admin().open();
    					} else if (type.equals("系统管理员")) {
    						//
    						dispose();
    						new ADMIN1();
    					}
    
    				} else {
    					Mention.setText("输入信息有误,请重新输入");
    
    					try {
    
    						Thread.sleep(2000);
    
    					} catch (InterruptedException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    
    					// Mention.setText("2");
    
    				}
    
    			}
    
    		});
    
    		// 注册事件
    		btn1.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				dispose();
    				Register R = new Register();
    			}
    
    		});
    	}
    }
    

    效果展示:
    在这里插入图片描述
    注册界面:

    package View;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    public class Register extends JFrame{
    	String CODE;
    	String NAME;
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    	  new Register();
    	}
    
    	/**
    	 * Create the application.
    	 */
    	public Register() {
    		initialize();
    		this.setBounds(500, 300, 800, 560);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setTitle("注册界面");
    		this.setLocation(500, 300);
    		this.setVisible(true);
    	}
    
    	/**
    	 * Initialize the contents of the frame.
    	 */
    	private void initialize() {
    		
    		
    		
    		JLabel bg = new JLabel(new ImageIcon("Images/Register/BG2.jpg"));
    		this.setContentPane(bg);
    		
    		
    		JLabel label = new JLabel("欢迎注册");
    		label.setBounds(380, 180, 120, 25);
    		label.setFont(new Font(null, Font.BOLD, 18));// 字体设置
    		this.add(label);
    
    		JLabel User = new JLabel("账号");
    		User.setBounds(322, 222, 30, 25);
    		User.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(User);
    
    		JLabel User1 = new JLabel(new ImageIcon("Images/LoginIcon/User.png"));
    		User1.setBounds(350, 220, 30, 30);
    		this.add(User1);
    
    		
    		JLabel Password = new JLabel("密码");
    		Password.setBounds(322, 254, 30, 25);
    		Password.setFont(new Font(null, Font.PLAIN, 14));// 字体设置
    		this.add(Password);
    
    		JLabel Password1 = new JLabel(new ImageIcon("Images/LoginIcon/Lock.png"));
    		Password1.setBounds(352, 250, 30, 30);
    		this.add(Password1);
           
    		VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    		//new VerificationCodeImgUtil().Excute();
    		V.Excute();
    	    CODE=V.code;
    		NAME=V.Name;
    		JLabel Check = new JLabel(new ImageIcon("Images/RadomCheck/"+NAME+".png"));
    		System.out.println("2:"+CODE);
    		Check.setBounds(322, 285, 120, 30);
    		this.add(Check);
    		
            
    		
    		
    		JTextField Check2 = new JTextField();
    		Check2.setBounds(444, 285, 55, 30);
    		this.add(Check2);
    		
    		// 文本框和按钮
    
    		JButton btn = new JButton("注册");
    		btn.setBounds(320, 325, 180, 25);
    		this.add(btn);
    		
    
    		JTextField User2 = new JTextField();
    		User2.setBounds(380, 222, 120, 25);
    		this.add(User2);
    
    		JPasswordField Password2 = new JPasswordField();
    		Password2.setBounds(380, 254, 120, 25);
    		this.add(Password2);
    		
    		JPanel panel = new JPanel(null);
    		panel.setBounds(290, 170, 245, 200);
    		panel.setBackground(Color.WHITE);
    		panel.setBorder(BorderFactory.createLineBorder(Color.gray));
    		this.add(panel);
    		
    		
    		JButton return1=new JButton("返回");
    		return1.setBounds(10, 10, 60, 25);
    		this.add(return1);
    		
    
    
    		
    		
    		return1.addActionListener(new ActionListener(){
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				dispose();
    				new Login();
    				
    			}
    			
    		});
    		//事件处理
    		
    		
    		JLabel Mention=new JLabel("");
    		Mention.setBounds(350, 100, 120, 25);
    		Mention.setForeground(Color.RED);
    		Mention.setFont(new Font(null,Font.BOLD,17));
    		this.add(Mention);
    		
    		
    		JLabel Readme=new JLabel("注册须知 ");
    		Readme.setBounds(620,200 , 120, 25);
    		Readme.setForeground(Color.RED);
    		this.add(Readme);
    		
    		JLabel Readme1=new JLabel(
    				 "1.账号长度为5位,若纯数字"
    				);
    		Readme1.setBounds(580,230 , 160, 25);
    		Readme1.setForeground(Color.RED);
    		this.add(Readme1);
    		
    		
    		JLabel Readme2=new JLabel(
    				"需要大于00100"
    				);
    		Readme2.setBounds(580,260 , 160, 25);
    		Readme2.setForeground(Color.RED);
    		this.add(Readme2);
    		
    		JLabel Readme3=new JLabel(
    				"2.密码需要在10位以内"
    				);
    		Readme3.setBounds(580,290 , 160, 25);
    		Readme3.setForeground(Color.RED);
    		this.add(Readme3);
    		
    		
    		btn.addActionListener(new ActionListener(){
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				//new VerificationCodeImgUtil().Excute();
    				 //	NAME=new VerificationCodeImgUtil().Name;
    				//Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    				System.out.print("Y");
    			  
    				
    				//Check 密码、账号规范和验证码匹配
    				String RadomCheck=Check2.getText();
    				String Password=Password2.getText();
    				String UserName=User2.getText();
    				//String CODE=new VerificationCodeImgUtil().getCode();
    			
    				System.out.println(CODE+" "+RadomCheck);
    				
    				if(RadomCheck.equals(CODE)){
    					//
    				   if(Password.length()>=10||UserName.length()!=5){
    					   Mention.setText("注意注册规范!");
    					   VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    						//new VerificationCodeImgUtil().Excute();
    						V.Excute();
    					    CODE=V.code;
    						NAME=V.Name;
    						Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    					   
    					   
    				   }else{
    					   if(new Data.Login().Checkexist(UserName)){
    						   Mention.setText("改用户名已注册!");
    						   VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    							//new VerificationCodeImgUtil().Excute();
    							V.Excute();
    						    CODE=V.code;
    							NAME=V.Name;
    							Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    					   }else{
    						   SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    						  String time= df.format(new Date());
    						   
    						   new Data.Login().InsertNewUser(UserName, Password,time);
    						   Mention.setText("注册成功!");
    						   try {
    								
    								Thread.sleep(2000);
    								
    							} catch (InterruptedException e1) {
    								// TODO Auto-generated catch block
    								e1.printStackTrace();
    							}
    						   Mention.setText("");
    					   }
    					   
    				   }
    					
    					
    //					dispose();
    //					new Login();
    				}else{//延时??
    					Mention.setText("验证码错误!");
    					 VerificationCodeImgUtil V=new VerificationCodeImgUtil();
    						//new VerificationCodeImgUtil().Excute();
    						V.Excute();
    					    CODE=V.code;
    						NAME=V.Name;
    						Check.setIcon(new ImageIcon("Images/RadomCheck/"+NAME+".png") );
    					try {
    						
    						Thread.sleep(2000);
    						
    					} catch (InterruptedException e1) {
    						// TODO Auto-generated catch block
    						e1.printStackTrace();
    					}
    					
    				}
    
    			}
    			
    		});
    
    	}
    
    }
    
    

    效果展示:
    在这里插入图片描述

    展开全文
  • 根据不同角色的用户登录, 进入登入页面具有...用户角色有管理员、 老师、 学生。 刚学习不久,写个项目练练手,功能不算很多,管理员对账户和课程的管理,学生选课退课查看成绩,教师查看自己教授的课程,录入成绩。
  • 这次有个任务,需要用java的图形用户界面来实现一个后台管理系统。我大概在网上随便找了一个类似于这个后台管理的框架(真的只是框架,一个登陆的窗口,一个用户管理的非常简单的页面),然后内部的事务逻辑均属原创...

    这次有个任务,需要用java的图形用户界面来实现一个后台管理系统。我大概在网上随便找了一个类似于这个后台管理的框架(真的只是框架,一个登陆的窗口,一个用户管理的非常简单的页面),然后内部的事务逻辑均属原创。
    下面,就来简单介绍一下这个后台管理系统是如何实现的,以及我制作时候的内部逻辑是如何的。

    1. 首先,为我们的数据库连接建立一个JDBC工具类
      这个工具类比较简单,其作用就是可以使得直接通过这个工具类,可以直接获得数据库链接,这样在后面不同的类去获取连接时,不需要写重复代码,只需要通过工具类就可以直接获得。
      代码如下:
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBCUtils {
        private JDBCUtils(){}
        private static Connection con ;
    
        static{                  
            try{
                Class.forName("com.mysql.jdbc.Driver");  //注册驱动,之所以用反射,这里不多解释
                String url = "jdbc:mysql://localhost:3306/数据库名";
                String username="数据库管理员名";
                String password="数据库管理员密码";
                con = DriverManager.getConnection(url, username, password);  //获取数据库连接
            }catch(Exception ex){
                throw new RuntimeException(ex+"数据库连接失败");
            }
        }
    
        /*
         * 定义静态方法,返回数据库的连接对象
         */
        public static Connection getConnection(){
            return con;
        }
    
    /*
    这个方法是用来释放资源的,原则是先得到的后关闭
    因为对数据库的操作不同,所以可能会产生两种关闭的情况,所以为了以防万一需要写两种关闭的方法,后来在具体项目的实践中我发现,查询这种情况是实时存在的,所以只需要写一种方法就可以了
    */
        public static void close(Connection con,Statement stat){
    
            if(stat!=null){
                try{
                    stat.close();
                }catch(SQLException ex){}
            }
    
            if(con!=null){
                try{
                    con.close();
                }catch(SQLException ex){}
            }
    
        }
    
    
        public static void close(Connection con,Statement stat , ResultSet rs){
            if(rs!=null){
                try{
                    rs.close();
                }catch(SQLException ex){}
            }
    
            if(stat!=null){
                try{
                    stat.close();
                }catch(SQLException ex){}
            }
    
            if(con!=null){
                try{
                    con.close();
                }catch(SQLException ex){}
            }
    
        }
    }
    
    1. 然后,我们就需要思考如何在后台管理系统中进行操作
      这个过程才是真正的核心,你需要明确你的后台管理系统中包括哪些功能,在此我先将我的后台管理系统的截图发上来,咱们在好好说道这个思考的过程。
      java图形用户界面版后台管理系统
      首先需要想想这个后台管理系统该是什么样子的,也就是所谓的设计一个简单的UI,然后我们看着眼前的UI在来一步步去思考该如何实现。

    1)第一步,我们需要实现好查询功能,也就是上面的“公司部门”、“公司员工”等几个按钮,每一个按钮内部都包含了一个查询操作,查询的是对应的我的那个数据库的表。这里的第一行,我写的是固定的,每一个选项,对应的是不同的数值,这个数值决定了我采用那个一维字符串数组作为头部。然后就是重头戏了,我们需要决定好下面的表的内容,也就是将数据库中的表的内容呈现到这个表中。结合java Swing中表的特征,我选择了二维数组赋值的方法,为此,我在针对数据库操作的方法中,需要得到一个二维数组。
    因为查询的时候,我无法获得resultset的长度,所以我采用了一个笨方法,赋值两个resultset,一个用来获取行数,一个用来给二维数组的每一个具体列赋值。其方法实现如下:

    public static String[][] resultSet(int k) {   //这是一个方法,可以返回一个二维数组
            PreparedStatement pst = null;      //声明一个预处理对象
            ResultSet rs = null;                       //第一个resultset
            ResultSet rs1 = null;
            if (k == 1) {                                   //这个针对的是第一个按钮,也就是上面的"公司部门"
                int count = 1;                           //用来记录二维数组的行数,从而实现动态赋值
                int colum = 0;                          //这个是来记录多少行的,但是单词好像写错了,多多担待
                String sql = "select * from departments";   //查询"公司部门"对应的数据库表
                try {
                    pst = con.prepareStatement(sql);         //对sql语句进行预编译
                    rs = pst.executeQuery();                      //执行查询语句,并得到Resultset结果集
                    while (rs.next()) {
                        colum++;
                    }
    
                    items = new String[colum][4];               //获取一个行数可变的二维数组
    
                    rs1 = pst.executeQuery();
                    while (rs1.next()) {
                        items[count - 1][0] = rs1.getString("department_id");
                        items[count - 1][1] = rs1.getString("department_name");
                        items[count - 1][2] = rs1.getString("manager_id");
                        items[count - 1][3] = rs1.getString("location_id");
                        count++;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    

    这是针对第一个按钮所写的查询代码,后面的三个按钮相同,只需要该部分内容就行。

    2)现在我们来实现添加功能,这个添加功能就是简单的获取四个对话框里的文本内容,然后对应查看数据库中对应的数据类型,将类型转换正确后,在进行插入操作,然后按下添加按钮后,更新图形用户界面就可以了。

    public static int insert(int k, String str1, String str2, String str3, String str4) {   //我设置返回值为int是为了调用这个方法时,能够判断出是否执行成功
            int line = 0;
            PreparedStatement stat = null;
            if (k == 1) {
                String sql = "insert into departments(department_id,department_name,manager_id,location_id) values(?,?,?,?)";  //利用占位符,
                try {
                    stat = con.prepareStatement(sql);
                    int did = Integer.parseInt(str1);     //经过数据库中表的列的类型查询得知,这三个列的类型是int类型,因此需要在替换占位符前,先替换数据类型
                    int mid = Integer.parseInt(str3);
                    int lid = Integer.parseInt(str4);
    
                    stat.setInt(1, did);      //替换占位符
                    stat.setString(2, str2);
                    stat.setInt(3, mid);
                    stat.setInt(4, lid);
                    // 5执行SQL语句
                    line = stat.executeUpdate();   //执行sql语句,如果执行成功,会返回影响的行数(代表插入了几行),肯定会是1,这是你就可以判断自己的数据插入成功了
    
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
    

    3)下面,我们再来执行修改操作,这个操作会涉及到一定的Swing中的方法,就是获取你所点击的行的数据,并赋值给下面的几个text框中,当然,你也可以根据第一列的id号直接修改,因为你的sql操作可以做到运行这样修改。
    在此,我先将那个获取点击行的内容的代码po出来:

    table.addMouseListener(new MouseAdapter() {    //鼠标事件
                    public void mouseClicked(MouseEvent e) {
                        int selectedRow = table.getSelectedRow(); //获得选中行索引
                        Object oa = tableModel.getValueAt(selectedRow, 0);
                        Object ob = tableModel.getValueAt(selectedRow, 1);
                        Object oc = tableModel.getValueAt(selectedRow, 2);
                        Object od = tableModel.getValueAt(selectedRow, 3);
                        try {
                            aTextField.setText(oa.toString());  //给文本框赋值
                            bTextField.setText(ob.toString());
                            cTextField.setText(oc.toString());
                        }catch (NullPointerException ex){
                            cTextField.setText("");
                            throw new RuntimeException(ex+"遇到了空字符串");
                        }finally {
                            dTextField.setText(od.toString());
                        }
                    }
                });
    

    大家或许会对我这几行代码中的try、catch、finally这个用法不太理解,其实他们不具有通用性,它是针对我第一个截图中的有几行第三列数据为空的情况而存在的。
    这段获取值的方法写完后,可以直接在文本框内修改其值,但是注意id号千万不能修改,它是我们SQL语句中执行修改的关键,sql相关操作的代码如下:

    public static int update(int k, String str1, String str2, String str3, String str4) {
            int line = 0;
            PreparedStatement stat = null;
    
            if (k == 1) {
                String sql = "update departments set department_name=?,manager_id=?,location_id=? where department_id=?";
                try {
                    stat = con.prepareStatement(sql);
                    int did = Integer.parseInt(str1);
                    int mid = Integer.parseInt(str3);
                    int lid = Integer.parseInt(str4);
    
                    stat.setString(1, str2);
                    stat.setInt(2, mid);
                    stat.setInt(3, lid);
                    stat.setInt(4, did);
                    // 5执行SQL语句
                    line = stat.executeUpdate();
    
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
           }
    

    这里的代码就不做过多解释了,基本和上面的重复,注意占位符的位置就行。

    4)好,现在我们来执行最后一个事务,那就是删除,我认为这个是最简单最轻松的了,直接获取第一个id号,然后执行sql语句进行删除就可以了,代码和上面的几乎都差不多,只会更简单,在此不再过多赘述了。

    5)最后的最后,我在简单放一下我的信息统计的页面,他这个其实也要查询,但是需要单独写一段查询代码,但是本质还是一样的!
    在这里插入图片描述
    这个其实代码写起来十分简单,只是查询的次数相对来说比较多而已。

    if (k == 5) {
                String sql = "SELECT count(*) departments FROM departments";
                try {
                    pst = con.prepareStatement(sql);
    
                    rs = pst.executeQuery();
                    items = new String[1][4];
                    while (rs.next()) {
                        items[0][0] = rs.getString("departments");
                    }
                    sql = "SELECT count(*) jobs FROM jobs";
                    pst = con.prepareStatement(sql);
                    rs = pst.executeQuery();
                    while (rs.next()) {
                        items[0][1] = rs.getString("jobs");
                    }
                    sql = "SELECT count(*) employees FROM employees";
                    pst = con.prepareStatement(sql);
                    rs = pst.executeQuery();
                    while (rs.next()) {
                        items[0][2] = rs.getString("employees");
                    }
                    sql = "SELECT count(*) locations FROM locations";
                    pst = con.prepareStatement(sql);
                    rs = pst.executeQuery();
                    while (rs.next()) {
                        items[0][3] = rs.getString("locations");
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    

    6)嗯,还有个最后,不要忘记关闭资源哦,最好在后台管理系统窗口关闭的时候调用,不然提前关闭会出错。

    需要完整代码的,可以到此下载:https://download.csdn.net/download/yiyexy/10740072

    展开全文
  • 手把手实现Java图书管理系统(附源码)

    万次阅读 多人点赞 2020-02-03 11:43:43
    本课程演示的是一套基于Java的SSM框架实现的图书管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。 详细介绍了图书管理系统的实现,包括: 1.环境搭建 2.系统功能 3.技术实现 4....
  • JAVA实现普通用户和管理员用户同页面登录

    万次阅读 多人点赞 2020-06-12 08:34:04
    摘要:之前写了一个Python Flask实现普通用户和管理员用户同页面登录;现在把用Java实现这个功能的代码和思想写一下。
  • 基于Java和MySQL的图书管理系统

    万次阅读 多人点赞 2018-06-20 21:41:17
    Java图书管理系统 设计人:wangyunpeng_bio 项目需求 随着计算机的普及和应用水平的提高,经过考察比较,决定利用自己的Java知识开发小型的图书管理系统,方便图书的管理。 图书管理系统是典型的信息管理系统。...
  • 管理登陆界面

    2013-03-25 10:56:48
    做好的一个登陆界面,画面不错哟,有图有真相。
  • java图形用户界面(登录界面

    千次阅读 2019-11-07 21:19:40
    import javax.swing.JFrame; /** ...import java.awt.*; import javax.sound.midi.VoiceStatus; import javax.swing.*; import java.awt.event.*; public class MyFieldExample extends JFrame ...
  • Java Web实现登陆注册页面前端与后台数据连接(代码+sql文件)。Java Web实现登陆注册页面前端与后台数据连接(代码+sql文件)。Java Web实现登陆注册页面前端与后台数据连接(代码+sql文件)。
  • java购物管理

    2019-04-20 11:22:54
    java类与对象的方法,完成登录和用户名密码的验证的功能,使用switch输出相应的数字完成菜单之间的跳转,显示需要的用户信息,实现购物管理系统。
  • 使用Java JFrame编写一个简单的登陆界面(二)

    千次阅读 多人点赞 2019-03-26 20:19:01
    Java编写窗口第二弹 基于JFrame窗口的,想要了解Web窗口的话,查看我下一篇文章 下面开始继续介绍JFrame窗口创建登陆注册界面。 接着上一篇文章所说,如何进行检测用户是否输入了正确的用户名与密码 (上一篇文章...
  • JAVA GUI超市管理系统+Mysql数据库 要求: 1、该系统分配有两种权限,一个是超市管理员权限,一个是顾客权限。...3、管理员可以对商品信息进行:增、删、改、查(管理员权限的名字为admin),对于管理员...
  • 不同角色的用户登录(比如普通用户和超级管理员)的操作页面不一样。 2.供应商管理 灵活管理供货商,及时添加及修改供货商信息,为采购计划的制定提供保障。 3.材料管理 对材料进行管理,管理材料种类及库存...
  • 简单登陆界面

    2014-05-14 10:30:46
    简单登陆界面
  • JAVA汽车管理系统

    2018-05-19 23:17:29
    JAVAEE汽车管理系统,前端是MINIUI,SSH框架开发,数据库是MySQL,角色分管理员和驾驶员,管理员可以派车然后指定驾驶员,驾驶登陆后可以看到自己的出车情况,还可以做还车登记,还有车辆管理,车辆保险管理,车辆...
  • 基于Java医院网上预约挂号系统设计与实现 ...超级管理员界面 登陆界面 科室管理 医生管理 项目使用说明 IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: 最好是Tomcat 7.x,8.x,9.x版本...
  • JavaGUI实现超市信息管理系统界面(基于Oracle数据库)

    万次阅读 多人点赞 2018-12-06 23:00:32
    1.项目设计 这次为大家带来的是基于Oracle数据库下的GUI超市信息管理系统,因还处于Java学习阶段,代码如有缺陷,还请多多指教。话不多说,下面是本次管理系统的主要...1.1管理员登录界面Login 此界面的重点在于...
  • 手把手搭建Java健身房管理系统【附源码】(毕设)

    千次阅读 多人点赞 2020-03-05 00:19:57
    本课程演示的是一套基于JavaWeb实现的健身房管理系统 或 健身俱乐部管理系统 或 健身会所管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。 详细介绍了健身房管理系统的实现,包括...
  • 一,项目功能描述 通过对管理员在前台页面输入的用户名,密码和验证码...3.由于这是一个为学生信息管理系统所作的登录页面,学生信息将会存储在数据库中,所以我们将管理员的信息也存入数据库之中。 三,界面预览 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,802
精华内容 6,720
关键字:

java管理员登录界面

java 订阅