java學生管理系統(簡易)(一)
java簡易學生管理系統---登入介面(一)
login部分
// 內容包含簡單的增刪該查以及使用者登入介面
// 技術有限,大佬勿噴---
// 此部分不小心將登入跟註冊寫在一起了。嚶嚶嚶~
中間部分將註冊寫成了內部類,本應該分開寫的,只是練習一下基礎語法
此部分在swing註釋比較詳細,之後就省略了哦
package StudentMajor; import java.awt.*; import java.awt.*; import java.awt.event.*; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; import javax.swing.*; public class Login { private JFrame jf;//視窗 private JPanel jp1,jp2,jp3,jp4;//面板 private JLabel jlb1,jlb2,jlb3;//標籤 private JButton jb1,jb2,jb3;//按鈕 private JTextField jtf;//文字 private JPasswordField jpf;//密碼 private JRadioButton jrb1,jrb2;//選項(點)按鈕 private ButtonGroup bg; //控制點的選擇(按鈕) final private File filestu = new File("e:\\abc\\file\\Student.txt");//學生檔案 final private File filetea = new File("e:\\abc\\file\\Teacher.txt");//教師檔案 public Login() { } private class RegisterInfo { private JFrame jfr;//視窗 private JPanel jp1,jp2,jp3,jp4;//面板 private JLabel jlb1,jlb2,jlb3;//標籤 private JButton jb1,jb2,jb3;//按鈕 private JTextField jtf;//文字 private JPasswordField jpf;//密碼 private JRadioButton jrb1,jrb2;//選項(點)按鈕 private ButtonGroup bg; //控制點的選擇(按鈕) public RegisterInfo() { init(); } public void init() { if(!filestu.exists()) try { filestu.createNewFile(); } catch (IOException e) { e.printStackTrace(); } if(!filetea.exists()) try { filetea.createNewFile(); } catch (IOException e) { e.printStackTrace(); } //<1>設定主頁面 jfr = new JFrame("學生管理系統"); jfr.setSize(300, 250);//窗體大小 jfr.setLocationRelativeTo(null);//居中顯示 jfr.setLayout(new FlowLayout());//設定佈局 jfr.setResizable(false); //設定視窗不能改變大小 //一初始化就有面板 jp1 = new JPanel(); jp2 = new JPanel(); jp3 = new JPanel(); jp4 = new JPanel(); //(1)設定標籤 jlb1 = new JLabel("使用者名稱"); jlb2 = new JLabel("密 碼"); jlb3 = new JLabel("身 份"); //(2)設定按鈕 jb1 = new JButton("確定"); jb2 = new JButton("重置"); jb3 = new JButton("返回"); jrb1 = new JRadioButton("教師"); jrb2 = new JRadioButton("學生"); bg = new ButtonGroup(); bg.add(jrb1); bg.add(jrb2); jrb2.setSelected(true);//預設學生按鈕 //(3)建立文字框 jtf = new JTextField(10); //(4)密碼框 jpf = new JPasswordField(10); //<2>新增部件(新增到面板) jp1.add(jlb1); jp1.add(jtf); jp2.add(jlb2); jp2.add(jpf); jp3.add(jb1); jp3.add(jb2); jp3.add(jb3); jp4.add(jlb3); jp4.add(jrb1); jp4.add(jrb2); //(1)將元件都新增到窗體上 jfr.add(jp1); jfr.add(jp2); jfr.add(jp4); jfr.add(jp3); //<3>新增窗體事件 myEvent(); //<4>設定窗體可見 jfr.setVisible(true); } public void myEvent() { //(1)窗體關閉 jfr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //(2)監聽---確定 jb1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(jtf.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "請輸入使用者名稱", "提示資訊", JOptionPane.WARNING_MESSAGE); return; }else if(jpf.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "請輸入密碼", "提示資訊", JOptionPane.WARNING_MESSAGE); return; } boolean flag = false; if(jrb1.isSelected()) { flag = WriteInFile(1,jtf.getText(),jpf.getText()); }else { flag = WriteInFile(2,jtf.getText(),jpf.getText()); } if(flag) { JOptionPane.showMessageDialog(null, "註冊成功", "提示資訊", JOptionPane.WARNING_MESSAGE); //jfr.setVisible(false);//dispose() //jf.setVisible(true); jfr.dispose();//關掉當前頁面 new Login().init();;//開啟新的頁面 }else { JOptionPane.showMessageDialog(null, "註冊失敗,請重新註冊!", "提示資訊", JOptionPane.ERROR_MESSAGE); jtf.setText(""); jpf.setText(""); } } }); //重置按鈕 jb2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { jtf.setText(""); jpf.setText(""); } }); //返回 jb3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { jfr.setVisible(false); jf.setVisible(true); } }); } } public void init() { if(!filestu.exists()) try { filestu.createNewFile(); } catch (IOException e) { e.printStackTrace(); } if(!filetea.exists()) try { filetea.createNewFile(); } catch (IOException e) { e.printStackTrace(); } //<1>設定主頁面 jf = new JFrame("學生管理系統"); jf.setSize(300, 250);//窗體大小 jf.setLocationRelativeTo(null);//居中顯示 jf.setLayout(new FlowLayout());//設定佈局 jf.setResizable(false); //設定視窗不能改變大小 //一初始化就有面板 jp1 = new JPanel(); jp2 = new JPanel(); jp3 = new JPanel(); jp4 = new JPanel(); //(1)設定標籤 jlb1 = new JLabel("使用者名稱"); jlb2 = new JLabel("密 碼"); jlb3 = new JLabel("權 限"); //(2)設定按鈕 jb1 = new JButton("登入"); jb2 = new JButton("重置"); jb3 = new JButton("註冊"); jrb1 = new JRadioButton("教師"); jrb2 = new JRadioButton("學生"); bg = new ButtonGroup(); bg.add(jrb1); bg.add(jrb2); jrb2.setSelected(true);//預設學生按鈕 //(3)建立文字框 jtf = new JTextField(10); //(4)密碼框 jpf = new JPasswordField(10); //<2>新增部件(新增到面板) jp1.add(jlb1); jp1.add(jtf); jp2.add(jlb2); jp2.add(jpf); jp3.add(jb1); jp3.add(jb2); jp3.add(jb3); jp4.add(jlb3); jp4.add(jrb1); jp4.add(jrb2); //(1)將元件都新增到窗體上 jf.add(jp1); jf.add(jp2); jf.add(jp4); jf.add(jp3); //<3>新增窗體事件 myEvent(); //<4>設定窗體可見 jf.setVisible(true); } //窗體事件 public void myEvent() { //(1)窗體關閉 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //(2)監聽---登入按鈕 jb1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { userChoice(); } }); //重置按鈕 jb2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { jtf.setText(""); jpf.setText(""); } }); //註冊按鈕 jb3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //jf.setVisible(false); jf.dispose(); new RegisterInfo(); } }); } //登入提示資訊 public void showinfo(int num) { boolean flag = false; if(jtf.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "請輸入使用者名稱", "提示資訊", JOptionPane.WARNING_MESSAGE); return; }else if(jpf.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "請輸入密碼", "提示資訊", JOptionPane.WARNING_MESSAGE); return; } if(num==1) { flag = readFileOfStudent(filetea,jtf.getText(),jpf.getText()); }else if(num==2) { flag = readFileOfStudent(filestu,jtf.getText(),jpf.getText()); } if(flag&&num==1) { JOptionPane.showMessageDialog(null, "登入成功", "提示資訊", JOptionPane.WARNING_MESSAGE); jf.dispose(); new TeacherUser().init(); }else if(flag&&num==2) { JOptionPane.showMessageDialog(null, "登入成功", "提示資訊", JOptionPane.WARNING_MESSAGE); jf.dispose(); new StudentUser().init(jtf.getText()); }else { JOptionPane.showMessageDialog(null, "使用者名稱或密碼錯誤!", "提示資訊", JOptionPane.ERROR_MESSAGE); jtf.setText(""); jpf.setText(""); } } //使用者選擇 public void userChoice() { int num=-1; if(jrb2.isSelected()) { num=2; }else { num=1; } //System.out.println(num); showinfo(num); } //將資訊寫入檔案 public boolean WriteInFile(int num,String user,String pwd) { if(user==null || pwd==null) return false; if(num==2) { if(WriteToFile(filestu,user,pwd)) { return true; } }else if(num==1) { if(WriteToFile(filetea,user,pwd)) { return true; } }else { //System.out.println("沒有任何學生和老師,請重新註冊!"); return false; } return false; } public boolean WriteToFile(File file,String user,String pwd) { if(user==null || pwd == null) return false; if(file==null) { System.out.println("沒有檔案"); return false; } BufferedWriter bufw = null; try { bufw = new BufferedWriter(new FileWriter(file,true)); if(readFileOfStudent(file,user,pwd)) { JOptionPane.showMessageDialog(null, "輸入已存在!", "提示資訊", JOptionPane.ERROR_MESSAGE); //jtf.setText(""); //jpf.setText(""); return false; } bufw.write(user+" "+pwd); bufw.newLine(); } catch (IOException e) { e.printStackTrace(); }finally { try { if(bufw!=null) bufw.close(); } catch (IOException e) { System.out.println("檔案關閉失敗"); } } return true; } //讀檔案 public boolean readFileOfStudent(File file,String name,String pwd) { BufferedReader bufr = null; //System.out.println(name+pwd); boolean flag = false; try { bufr = new BufferedReader(new FileReader(file)); } catch (FileNotFoundException e) { new RuntimeException("該檔案不存在!"); } String len = null; String infoReg = " +"; String[]s = null; try { while((len = bufr.readLine())!=null) { s = len.split(infoReg); if(s[0].equals(name)&&s[1].equals(pwd)) { return true; } } } catch (IOException e) { e.printStackTrace(); } return false; } public static void main(String[] args) { new Login().init(); } }
效果展示:
// 註冊介面
相關推薦
java學生管理系統(簡易)(一)
java簡易學生管理系統---登入介面(一)login部分// 內容包含簡單的增刪該查以及使用者登入介面// 技術有限,大佬勿噴---// 此部分不小心將登入跟註冊寫在一起了。嚶嚶嚶~中間部分將註冊寫成了內部類,本應該分開寫的,只是練習一下基礎語法此部分在swing註釋比較詳
java學生管理系統(IO流和檔案實現)
利用IO流和檔案的儲存和讀取來實現學生管理系統,核心在於使用集合ArrayList<E>和IO流讀取和寫入,需要掌握以下知識點: (1)ArrayList<E>介面實現可變陣列的大小,E代表陣列型別,E為什麼,定義的物件即為什麼型別,常用的功能是增刪
從零搭建java後臺管理系統(二)mysql和redis安裝
docker 權限 req 安全性 分享圖片 登錄 red 解析 append 接上篇開始安裝mysql和redis 註意了,如果用阿裏雲服務器,外網訪問的端口必須在安全組開啟,否則外網訪問不通 三、服務器安裝redis和mysql 本次環境搭建將所有第三方服務會安
學生管理系統(js)
驗證登陸js. //登陸驗證方法 function login(){ var username = document.getElementById("username").value; var password = document.getElementById("password"
學生管理系統(測試)
登陸的測試類。 package com.wh.test; import org.junit.Test; import com.wh.entity.Student; import com.wh.service.LoginService; import com.wh.service.Lo
學生管理系統(八)---優化
前言: 上一篇是關於屬性和程式碼的優化,這次主要是根據平時的習慣來進行的優化。 內容: 1、新增成績窗體中,通過班號和學號可以確定該生的姓名,所以該生的姓名就不可以輸入
JAVA辦公管理系統(OA)
辦公系統(OA) 一. 使用者: 1. 登入。 2. 分配使用者和許可權 二. 個人資訊: 1. 個人資訊完善(修改) 2. 登入密碼修改和重置 三. 請假: 1. 請假單錄入 2. 請假單提交(二級審批) 3天以下:一級稽核通過(通過)
學生管理系統(二)---登入窗體
前言: 一直也沒有對遇到的問題進行總結,現在總結一下,是不是相當於又學習了一遍學生啊! 內容: 1、判斷使用者名稱是否為空 '判斷輸入使用者名稱是否為空 If Trim(txtUserName.Text = "")
java構建學生管理系統(一)
class 管理系統 同時 進步 傳參 databases 什麽 界面 查看 用java搭建學生管理系統,重要還是對數據庫的操作,諸如增刪改查等。 1.基本的功能: 老師完成對學生信息的查看和修改,完成對班級的信息的概覽。 學生可以看自己的成績和對自己信息的修改。 學生和老
從零搭建java後臺管理系統(一)
pac 阿裏 stat 技術 user 日誌 代碼 最小 mbo 框架搭建 一、初步設想,使用springboot,框架打算用到依賴 spring web,devTools,mysql,Aspect,Redis,Lombok,Freemark,Shiro,Rabbitmq
C/S模型-多程序-簡易版學生-管理系統(帶資料庫)
簡介: 【1】資料: 學生資訊:姓名name + 賬號account + 分數score 登入資訊:賬號account + 密碼password(學生、管理員) 【2】C/S模型,使用fork實現多程序互動 【3】Client: 1)登入:學生登入,管理員登陸 2)管理員:修改密
Java——Web開發之MVC設計模式的學生資訊管理系統(二)
為什麼這個標題為“(二)”,其實是對於上一個特別簡單學生資訊管理系統裡功能的完善。 所謂的“(一)”在這:學生資訊管理系統(一) 系統實現的功能: 實現新增學生 顯示查詢到的學生 刪除學生 更新學生資訊 模糊查詢符合相關資訊的學生
Python--學生資訊管理系統(簡易版)
學完Python基礎,結合前邊所學的知識,做一個小Demo,一來熟悉程式碼,二來鞏固和複習前邊所學的東西。 程式碼如下: #coding=utf-8 #學生管理系統 #用來儲存學生資訊 nameList = [] print("-"
Java專案開發成績管理系統(三) 學生資訊模組—主介面設定
學生資訊模組負責管理學生的個人資訊,包括對學生人數的增加對資訊的修改等, 1.主介面設計: 學生資訊主介面包含選單欄,列表按鈕,等元件,其實現程式碼如下: package student; import grade.GIndex; import java.awt.*;
學生成績管理系統(簡易本地版)
學生成績管理系統(簡易本地版) 一、概述 平臺:Windows 10 ,Microsoft Visual Studio 2017 語言:C++,面向過程 完成日期:2018/12/27 主要功能: 1. 新增學生的資訊(包括學號,姓名,性別,成績) 2. 顯示學生的資訊 3.查詢學生
學生管理系統(SSM簡易版)總結
之前用 Servlet + JSP 實現了一個簡易版的學生管理系統,在學習了 SSM 框架之後,我們來對之前寫過的專案重構一下! 技術準備 為了完成這個專案,需要掌握如下技術: Java 基礎知識 前端: HTML, CSS, JAVAS
用反射完畢學生管理系統(包含數據庫連接)
幫我 循環輸出 .net into att reat 類別 學生管理系統 csdn 今天我最終將坑爹的萬能數據庫鏈接做好了第一步了,插入數據。 雖說非常easy。但還是應該總結一些問題。 一路的坎坷僅僅能如今表達了。 以下就是一些問題以及過程: 最重要的問題可能就是sq
學生用戶管理系統(二)
tostring str rust 意思 儲存器 即將 需要 http nec 接著上一條隨筆。 這個用戶管理系統能夠實現從sql server 數據庫中的一張表讀取用戶名和密碼來看是否與用戶輸入的相同,相同則進入另一個頁面,否則跳messagebox. 若用戶沒有註冊
Java實驗--基於Swing的簡單的歌曲信息管理系統(三)
img dbo check clas str http 按鈕 cancel uuid 轉載請註明出處,上一篇《Java實驗--基於Swing的簡單的歌曲信息管理系統(二)》介紹了項目的目錄結構和Dao層,本篇主要講解界面的繪制和業務層Service。 登錄界面 登錄
學生管理系統(有一定問題)
sel let ets upd jdbc except cte int setname package lianjie; import java.sql.Connection;import java.sql.DriverManager;import java.sql.Res