基于JAVA的简易学生管理系统

private int rows = 0,line=5;
	private String filename=null;
	private static String Account="账号";
	private static String Passward="123456";
	private String[][] unit = new String[rows][line];
	private String[] name = { "时间", "学号", "姓名", "出勤", "备注" };
	public static void main(String[] args) throws IOException{
		denglu();
	}

基于JAVA的简易学生管理系统_第1张图片

@SuppressWarnings("deprecation")
	static void denglu() {
		JFrame denglu = new JFrame("登录学生考勤管理系统");
		Toolkit tool = denglu.getToolkit();
		Image logo = tool.getImage("logo.jpg");
		denglu.setIconImage(logo);
		JTextField jTextField = new JTextField(10);
   	 	JPasswordField jPasswordField = new JPasswordField(10);
   	 	JLabel  jLabel1 = new JLabel("账号:");
   	 	JLabel  jLabel2 = new JLabel("密码:");
   	 	JButton jb1 = new JButton("确认");
   	 	JButton jb2 = new JButton("取消");
   	 	JPanel jp1 = new JPanel();
   	 	JPanel jp2 = new JPanel();
   	 	JPanel jp3 = new JPanel();
        //设置布局
   	 	denglu.setLayout(new GridLayout(3,1));
        jp1.add(jLabel1); 
        jp1.add(jTextField);//第一块面板添加用户名和文本框 
        jp2.add(jLabel2);
        jp2.add(jPasswordField);//第二块面板添加密码和密码输入框
        jp3.add(jb1);
        jp3.add(jb2);//第三块面板添加确认和取消
        denglu.add(jp1);
        denglu.add(jp2);
        denglu.add(jp3);
        //设置显示
        denglu.setSize(320, 200);
        denglu.setLocation(500, 200);
        denglu.setResizable(false);
        denglu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        denglu.setVisible(true);
        jb1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				String zhanghao=jTextField.getText();
				String passward=jPasswordField.getText();
				if(zhanghao.equals(Account)&&passward.equals(Passward)) {
					denglu.dispose();
					new TestStudentManage();
			    }
				else if(!zhanghao.equals(Account)&&!passward.equals(Passward)) {
					JOptionPane.showMessageDialog(null, "账号或密码输入错误!请重新输入");
			    }
				else if(!zhanghao.equals(Account)&&passward.equals(Passward)) {
					JOptionPane.showMessageDialog(null, "账号或密码输入错误!请重新输入");
			    }
				else if(zhanghao.equals(Account)&&!passward.equals(Passward)) {
					JOptionPane.showMessageDialog(null, "密码输入错误!请重新输入");
			    }
			}
        });
        jb2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				denglu.dispose();
			}
        });
        
	}

基于JAVA的简易学生管理系统_第2张图片

Student_manage() {
		JFrame frame = new JFrame("欢迎使用学生考勤管理系统");
		JTable table = new JTable(unit, name);
		JPanel southPanel = new JPanel();
		JButton news = new JButton("新建表");
		JButton open = new JButton("打开表");
		JButton save = new JButton("保存学生信息");
		southPanel.add(news);
		southPanel.add(open);
		southPanel.add(save);
		southPanel.setLayout(new GridLayout(1, 3, 5, 5));
		frame.add(new JLabel("欢迎使用学生考勤管理系统"), BorderLayout.NORTH);
		frame.add(southPanel, BorderLayout.SOUTH);
		frame.add(new JScrollPane(table), BorderLayout.CENTER);
		frame.setLocation(400,100);
		frame.setSize(500, 500);
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		......
		}

基于JAVA的简易学生管理系统_第3张图片
基于JAVA的简易学生管理系统_第4张图片

news.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrame newfile = new JFrame("新建");
				JPanel newPane1 = new JPanel();
				JPanel newPane2 = new JPanel();
				JButton Finish = new JButton("Finish");
				newPane2.add(Finish);
				newPane1.add(new JLabel("输入表名:"));
				newPane1.add(new JLabel("输入学生数:"));
				newPane1.setLayout(new GridLayout(2, 1, 10, 10));
				newfile.add(newPane1, BorderLayout.NORTH);
				newfile.add(newPane2, BorderLayout.SOUTH);
				final JTextField filin = new JTextField(10);
				final JTextField newin = new JTextField(10);
				newPane1.add(filin);
				newPane1.add(newin);
				newfile.setSize(250, 160);
				newfile.setLocation(500,300);
				newfile.setVisible(true);
				Finish.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						filename = filin.getText();
						File f = new File(filename);
						if(!f.exists()) {
						rows = Integer.valueOf(newin.getText());
						unit = new String[rows][line];
						JTable table = new JTable(unit, name);
						frame.getContentPane().removeAll();
						frame.add(new JScrollPane(table), BorderLayout.CENTER);
						frame.add(southPanel, BorderLayout.SOUTH);
						frame.add(new JLabel(filename), BorderLayout.NORTH);
						frame.validate();
						table.setRowHeight(25);
						newfile.dispose();
						}else {
							JOptionPane.showMessageDialog(null, "该文件名已存在!请重新输入文件名。");
						}
					}
				});
			}
		});

基于JAVA的简易学生管理系统_第5张图片

open.addActionListener(new ActionListener() {
			private Component chatFrame;
			public void actionPerformed(ActionEvent e) {
				int result = 0;String path = null;
				JFileChooser jf = new JFileChooser();
				FileSystemView fsv = FileSystemView.getFileSystemView();
				System.out.println(fsv.getHomeDirectory());
				jf.setCurrentDirectory(fsv.getHomeDirectory());
				jf.setDialogTitle("请选择要打开的文件...");
				jf.setApproveButtonText("确定");
				jf.setFileSelectionMode(JFileChooser.FILES_ONLY);
				result = jf.showOpenDialog(chatFrame);
				if (JFileChooser.APPROVE_OPTION == result) {
			    	   path=jf.getSelectedFile().getPath();
			   }
				try {
						read(path);
						filename=path;
        				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            			JTable table = new JTable(unit, name);
            			frame.getContentPane().removeAll();
            			frame.add(new JScrollPane(table), BorderLayout.CENTER);
            			frame.add(southPanel, BorderLayout.SOUTH);
            			frame.add(new JLabel(filename), BorderLayout.NORTH);
            			frame.validate();
            			table.setRowHeight(25);
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
		});

void read(String path)throws IOException{
		System.out.println(path);
        try {
                String encoding="GBK";
                File file=new File(path.toString());
                StringBuilder result = new StringBuilder();
                if(file.isFile() && file.exists()){
                    InputStreamReader read = new InputStreamReader(new FileInputStream(file),encoding);//考虑到编码格式
					BufferedReader bufferedReader = new BufferedReader(read);
                    String lineTxt = null;
                    int i=0;
                    while((lineTxt = bufferedReader.readLine()) != null){
                    	i++;
                    	result.append(System.lineSeparator()+lineTxt);
                    }
                    rows=i-1;
                    Txtounit(result.toString(),unit,i);
                    read.close();
                    JOptionPane.showMessageDialog(null,filename+ "读取成功");//
        }else{ 
            System.out.println("找不到指定的文件");
        }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
        }
    }

基于JAVA的简易学生管理系统_第6张图片

save.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					write();
				} catch (IOException SA) {
					SA.printStackTrace();
				}
			}
		});

void write() throws IOException {
		int i;
		int j;
		if(filename!=null) {
		FileWriter fw = new FileWriter(filename);
		for (i = 0; i < 5; i++) {
			fw.write(name[i]+"\t");
		}
		fw.write("\r\n");
		for (i = 0; i < rows; i++) {
			for (j = 0; j < 5; j++) {
				if(unit[i][j]==null)unit[i][j]=" ";
				fw.write(unit[i][j]+"\t");
			}
			fw.write("\r\n");
		}
		fw.close();
		JOptionPane.showMessageDialog(null, "保存成功,存放至:"+filename);
		}else JOptionPane.showMessageDialog(null, "请先创建或打开表");
	}

你可能感兴趣的:(Java_Program)