您的位置:首页 > 编程语言 > Java开发

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

2018-12-11 16:37 441 查看
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();
}

@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();
}
});

}

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);
......
}


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, "该文件名已存在!请重新输入文件名。");
}
}
});
}
});

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(Sys
20000
tem.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();
}
}

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, "请先创建或打开表");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: