最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?GUI實現(xiàn)學生成績管理系統(tǒng)

 更新時間:2024年06月13日 14:38:39   作者:只要你能好  
這篇文章主要為大家詳細介紹了Java?GUI實現(xiàn)學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

學習java有一年多了,一直在做web方面的練習,在一個項目中發(fā)現(xiàn)需要用到GUI的相關知識,結果沒法做出來,網(wǎng)上這方面的文章又不是很多,所有只好自己硬著頭皮從頭再學一遍了,不過學習后發(fā)現(xiàn),其實GUI是非常有趣的,他并不像WEB程序一樣依賴互聯(lián)網(wǎng),而且還有許多布局和android相差不是很大,這才發(fā)現(xiàn)自己竟又愛上GUI的開發(fā)了,不多說了,直接上代碼吧,相信有過android或相關界面開發(fā)的都明白這其中的道理。

先看看效果吧

1.登錄主界面

package edu.gzu.stuManager; 
 
import java.awt.EventQueue; 
 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JOptionPane; 
 
import java.awt.Toolkit; 
 
import javax.swing.JTextField; 
 
import edu.gzu.stuManager.Dao.UserLoginValid; 
import edu.gzu.stuManager.Domain.StudentInfo; 
import edu.gzu.stuManager.View.StudentMainView; 
 
import java.awt.Choice; 
import java.awt.Font; 
import java.awt.Button; 
import java.awt.event.MouseAdapter; 
import java.awt.event.MouseEvent; 
 
public class MainUI { 
 
 private JFrame frame; 
 private JTextField textField; 
 private JTextField textField_1; 
 
 /** 
 * Launch the application. 
 */ 
 public static void main(String[] args) { 
 EventQueue.invokeLater(new Runnable() { 
 public void run() { 
 try { 
  MainUI window = new MainUI(); 
  window.frame.setVisible(true); 
 } catch (Exception e) { 
  e.printStackTrace(); 
 } 
 } 
 }); 
 } 
 
 /** 
 * Create the application. 
 */ 
 public MainUI() { 
 initialize(); 
 } 
 
 /** 
 * Initialize the contents of the frame. 
 */ 
 private void initialize() { 
 frame = new JFrame(); 
 frame.setTitle("\u6210\u7EE9\u7BA1\u7406\u7CFB\u7EDF\uFF08\u767B\u5F55\uFF09"); 
 frame.setIconImage(Toolkit.getDefaultToolkit().getImage(MainUI.class.getResource("/image/func_list7_privmana.png"))); 
 frame.setBounds(400, 250, 450, 300); 
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 frame.getContentPane().setLayout(null); 
 
 JLabel lblNewLabel = new JLabel("\u5B66\u751F\u6210\u7EE9\u7BA1\u7406\u7CFB\u7EDF\u7528\u6237\u767B\u5F55\uFF01"); 
 lblNewLabel.setFont(new Font("宋體", Font.PLAIN, 16)); 
 lblNewLabel.setBounds(111, 17, 287, 15); 
 frame.getContentPane().add(lblNewLabel); 
 
 JLabel lblNewLabel_1 = new JLabel("\u7528\u6237\u540D\uFF1A"); 
 lblNewLabel_1.setFont(new Font("宋體", Font.PLAIN, 14)); 
 lblNewLabel_1.setBounds(87, 67, 67, 15); 
 frame.getContentPane().add(lblNewLabel_1); 
 
 textField = new JTextField(); 
 textField.setBounds(154, 64, 141, 21); 
 frame.getContentPane().add(textField); 
 textField.setColumns(10); 
 
 JLabel label = new JLabel("\u5BC6 \u7801\uFF1A"); 
 label.setFont(new Font("宋體", Font.PLAIN, 14)); 
 label.setBounds(87, 108, 67, 15); 
 frame.getContentPane().add(label); 
 
 textField_1 = new JTextField(); 
 textField_1.setColumns(10); 
 textField_1.setBounds(154, 103, 141, 21); 
 frame.getContentPane().add(textField_1); 
 
 JLabel lblNewLabel_2 = new JLabel("\u6211\u7684\u8EAB\u4EFD\u662F\uFF1A"); 
 lblNewLabel_2.setFont(new Font("宋體", Font.PLAIN, 14)); 
 lblNewLabel_2.setBounds(105, 150, 97, 15); 
 frame.getContentPane().add(lblNewLabel_2); 
 
 final Choice choice = new Choice(); 
 choice.setBounds(210, 147, 74, 21); 
 choice.add("學生"); 
 choice.add("教師"); 
 choice.add("系統(tǒng)管理員"); 
 frame.getContentPane().add(choice); 
 
 Button button = new Button("\u767B\u5F55"); 
 button.setBounds(87, 194, 76, 23); 
 button.addMouseListener(new MouseAdapter() { 
 @Override 
 public void mouseClicked(MouseEvent e) { 
 String user=textField.getText(); 
 String password=textField_1.getText(); 
 String shenfen=choice.getSelectedItem(); 
 if(user.equals("")||user==null){ 
  JOptionPane.showMessageDialog(frame, shenfen+":您好,帳號不能為空!"); 
  return; 
 }else if(password.equals("")||password==null){ 
  JOptionPane.showMessageDialog(frame, shenfen+":您好,密碼不能為空!"); 
  return; 
 }else{ 
  StudentInfo stu=new StudentInfo(Integer.parseInt(user), 
  Integer.parseInt(password),shenfen); 
  UserLoginValid dao=new UserLoginValid(); 
  String result=dao.isValid(stu); 
  
  if("登錄成功!".equals(result)){ 
  JOptionPane.showMessageDialog(frame,result); 
  StudentMainView index=new StudentMainView(stu); 
  JFrame frame2=index.getFrame(); 
  frame2.setVisible(true); 
  frame.dispose(); 
  }else{ 
  JOptionPane.showMessageDialog(frame,result); 
  } 
  
 } 
 } 
 }); 
 frame.getContentPane().add(button); 
 
 Button button_1 = new Button("\u53D6\u6D88"); 
 button_1.setBounds(219, 194, 76, 23); 
 frame.getContentPane().add(button_1); 
 
 
 } 
 
} 

2.登錄驗證邏輯

package edu.gzu.stuManager.Dao; 
 
import edu.gzu.stuManager.Domain.StudentInfo; 
 
public class UserLoginValid { 
 
 public String isValid(StudentInfo stu){ 
 int idnum=stu.getIdnum(); 
 int password=stu.getPassword(); 
 String idntify=stu.getIdentify(); 
 String result=null; 
 
 if("學生".equals(idntify)){ 
 if(idnum==1207010209&&password==123){ 
 stu.setName("劉明勝 同學"); 
 result="登錄成功!"; 
 }else{ 
 result="學生帳號中不存在此用戶,請確認身份后再次登錄!"; 
 } 
 }else if("教師".equals(idntify)){ 
 if(idnum==1174386356&&password==123){ 
 stu.setName("劉明勝 老師"); 
 result="登錄成功!"; 
 }else{ 
 result="教師帳號中不存在此用戶,請確認身份后再次登錄!"; 
 } 
 }else if("系統(tǒng)管理員".equals(idntify)){ 
 if(idnum==999999&&password==123){ 
 stu.setName("系統(tǒng)管理員"); 
 result="登錄成功!"; 
 }else{ 
 result="系統(tǒng)管理員帳號中不存在此用戶,請確認身份后再次登錄!"; 
 } 
 } 
 
 
 return result; 
 } 
} 

3.用戶對象(這是一個簡單bean)

package edu.gzu.stuManager.Domain; 
 
public class StudentInfo { 
 private int idnum; 
 private String name; 
 private int password; 
 private String identify; 
 
 public StudentInfo(int idnum,int password, String identify) { 
 super(); 
 this.idnum = idnum; 
 this.password = password; 
 this.identify = identify; 
 } 
 public int getIdnum() { 
 return idnum; 
 } 
 public void setIdnum(int idnum) { 
 this.idnum = idnum; 
 } 
 public String getName() { 
 return name; 
 } 
 public void setName(String name) { 
 this.name = name; 
 } 
 public int getPassword() { 
 return password; 
 } 
 public void setPassword(int password) { 
 this.password = password; 
 } 
 public String getIdentify() { 
 return identify; 
 } 
 public void setIdentify(String identify) { 
 this.identify = identify; 
 } 
 
 
} 

4.登錄成功后的主界面

package edu.gzu.stuManager.View; 
 
import java.awt.Button; 
import java.awt.Canvas; 
import java.awt.Choice; 
import java.awt.Color; 
import java.awt.Toolkit; 
import java.awt.event.ItemEvent; 
import java.awt.event.ItemListener; 
 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
 
import edu.gzu.stuManager.Domain.StudentInfo; 
 
public class StudentMainView{ 
 private JFrame frame; 
 private JTextField textField; 
 private JTextField textField_1; 
 private JTextField textField_2; 
 private JTextField textField_3; 
 
 private StudentInfo info; 
 
 /** 
 * Create the frame. 
 * @wbp.parser.entryPoint 
 */ 
 public StudentMainView(StudentInfo info) { 
 this.info=info; 
 } 
 
 public JFrame getFrame(){ 
 initialize(); 
 return frame; 
 } 
 
 /** 
 * Initialize the contents of the frame. 
 * @wbp.parser.entryPoint 
 */ 
 public void initialize() { 
 frame = new JFrame(); 
 frame.setTitle("\u6210\u7EE9\u7BA1\u7406\u7CFB\u7EDF\uFF08\u5B66\u751F\u7248\uFF09"); 
 frame.setIconImage(Toolkit.getDefaultToolkit().getImage(StudentMainView.class.getResource("/image/func_list7_privmana.png"))); 
 frame.setBounds(300,150, 550, 300); 
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 frame.getContentPane().setLayout(null); 
 
 JLabel lblNewLabel = new JLabel("歡迎【"+info.getName()+"】登錄學生成績管理系統(tǒng)!"); 
 lblNewLabel.setBounds(54, 10, 322, 15); 
 frame.getContentPane().add(lblNewLabel); 
 
 JPanel panel = new JPanel(); 
 panel.setBounds(29, 52, 250, 180); 
 frame.getContentPane().add(panel); 
 panel.setLayout(null); 
 
 JLabel lblNewLabel_1 = new JLabel("\u6210\u7EE9\u6570\u636E"); 
 lblNewLabel_1.setBounds(94, 10, 65, 15); 
 panel.add(lblNewLabel_1); 
 
 JLabel lblNewLabel_2 = new JLabel("\u5B66\u53F7\uFF1A"); 
 lblNewLabel_2.setBounds(22, 37, 40, 15); 
 panel.add(lblNewLabel_2); 
 
 textField = new JTextField(); 
 textField.setBounds(72, 35, 154, 21); 
 textField.setText(info.getIdnum()+""); 
 panel.add(textField); 
 textField.setColumns(10); 
 
 JLabel lblNewLabel_3 = new JLabel("\u59D3\u540D\uFF1A"); 
 lblNewLabel_3.setBounds(22, 67, 44, 15); 
 panel.add(lblNewLabel_3); 
 
 textField_1 = new JTextField(); 
 textField_1.setBounds(72, 66, 154, 21); 
 textField_1.setText(info.getName()); 
 panel.add(textField_1); 
 textField_1.setColumns(10); 
 
 Canvas canvas = new Canvas(); 
 canvas.setBackground(Color.BLUE); 
 canvas.setBounds(22, 100, 205, 1); 
 panel.add(canvas); 
 
 JLabel lblNewLabel_4 = new JLabel("\u8BFE\u7A0B\u540D"); 
 lblNewLabel_4.setBounds(22, 116, 47, 15); 
 panel.add(lblNewLabel_4); 
 
 JLabel lblNewLabel_5 = new JLabel("\u6210\u7EE9"); 
 lblNewLabel_5.setBounds(160, 116, 43, 15); 
 panel.add(lblNewLabel_5); 
 
 textField_2 = new JTextField(); 
 textField_2.setBounds(22, 140, 123, 21); 
 panel.add(textField_2); 
 textField_2.setColumns(10); 
 
 textField_3 = new JTextField(); 
 textField_3.setBounds(159, 140, 66, 21); 
 panel.add(textField_3); 
 textField_3.setColumns(10); 
 
 JPanel panel_1 = new JPanel(); 
 panel_1.setBounds(317, 52, 110, 180); 
 frame.getContentPane().add(panel_1); 
 panel_1.setLayout(null); 
 
 JLabel lblNewLabel_6 = new JLabel("\u64CD\u4F5C\u83DC\u5355"); 
 lblNewLabel_6.setBounds(15, 10, 54, 15); 
 panel_1.add(lblNewLabel_6); 
 
 Button button = new Button("\u7B2C\u4E00\u95E8\u8BFE\u7A0B"); 
 button.setBounds(10, 31, 76, 23); 
 panel_1.add(button); 
 
 Button button_1 = new Button("\u4E0B\u4E00\u95E8\u8BFE\u7A0B"); 
 button_1.setBounds(10, 61, 76, 23); 
 panel_1.add(button_1); 
 
 Button button_2 = new Button("\u4E0A\u4E00\u95E8\u8BFE\u7A0B"); 
 button_2.setActionCommand("\u4E0A\u4E00\u95E8\u8BFE\u7A0B"); 
 button_2.setBounds(10, 90, 76, 23); 
 panel_1.add(button_2); 
 
 Button button_3 = new Button("\u6700\u540E\u4E00\u95E8\u8BFE"); 
 button_3.setBounds(10, 117, 76, 23); 
 panel_1.add(button_3); 
 
 Choice choice = new Choice(); 
 choice.setBounds(10, 149, 76, 21); 
 choice.add("選擇課程"); 
 choice.add("高等數(shù)學"); 
 choice.add("大學英語"); 
 choice.add("大學體育"); 
 choice.add("概率與統(tǒng)計"); 
 choice.add("計算機圖形學"); 
 choice.addItemListener(new ItemListener() { 
 
 @Override 
 public void itemStateChanged(ItemEvent e) { 
 Object[] objs=e.getItemSelectable().getSelectedObjects(); 
 for(Object ob:objs){ 
//  JOptionPane.showMessageDialog(frame, ob.toString()); 
  if("高等數(shù)學".equals(ob.toString())){ 
  textField_2.setText("高等數(shù)學"); 
  textField_3.setText("98"); 
  }else if("大學英語".equals(ob.toString())){ 
  textField_2.setText("大學英語"); 
  textField_3.setText("87"); 
  }else if("大學體育".equals(ob.toString())){ 
  textField_2.setText("大學體育"); 
  textField_3.setText("88"); 
  }else if("概率與統(tǒng)計".equals(ob.toString())){ 
  textField_2.setText("概率與統(tǒng)計"); 
  textField_3.setText("73"); 
  }else if("計算機圖形學".equals(ob.toString())){ 
  textField_2.setText("計算機圖形學"); 
  textField_3.setText("97"); 
  } 
 } 
  
  
 } 
 }); 
 
 panel_1.add(choice); 
 } 
 
} 

這樣就能輕松實現(xiàn)登錄驗證了,本打算從數(shù)據(jù)庫讀取數(shù)據(jù)的,由于時間關系,這里就簡單的直接驗證了,后續(xù)有時間的話再做其他的部分。

更多學習資料請關注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • logback關閉某個包的日志操作

    logback關閉某個包的日志操作

    這篇文章主要介紹了logback關閉某個包的日志操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Java?Optional的使用技巧與最佳實踐

    Java?Optional的使用技巧與最佳實踐

    在?Java?中,Optional?是用于優(yōu)雅處理?null?的容器類,其核心目標是?顯式提醒開發(fā)者處理空值場景,避免?NullPointerException,本文給大家介紹Java?Optional的使用技巧,感興趣的朋友一起看看吧
    2025-04-04
  • Java 中HashCode作用_動力節(jié)點Java學院整理

    Java 中HashCode作用_動力節(jié)點Java學院整理

    這篇文章主要介紹了Java 中HashCode作用以及hashcode對于一個對象的重要性,對java中hashcode的作用相關知識感興趣的朋友一起學習吧
    2017-05-05
  • java8新特性之接口的static和default的使用

    java8新特性之接口的static和default的使用

    這篇文章主要介紹了java8新特性之接口的static和default的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Java使用Jsoup解析html網(wǎng)頁的實現(xiàn)步驟

    Java使用Jsoup解析html網(wǎng)頁的實現(xiàn)步驟

    Jsoup是一個用于解析HTML文檔的Java庫,本文主要介紹了Java使用Jsoup解析html網(wǎng)頁的實現(xiàn)步驟,可以提取文本、鏈接、圖片等,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Java使用opencv識別二維碼的完整步驟

    Java使用opencv識別二維碼的完整步驟

    OpenMV是一個開源,低成本,功能強大的機器視覺模塊,下面這篇文章主要給大家介紹了關于Java使用opencv識別二維碼的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • springboot整合minio的超詳細教程

    springboot整合minio的超詳細教程

    在很多互聯(lián)網(wǎng)產(chǎn)品應用中,都涉及到各種與文件存儲相關的業(yè)務,隨著技術的發(fā)展,關于如何解決分布式文件存儲也有了比較成熟的方案,比如私有云部署下可以考慮fastdfs,阿里云對象存儲oss,七牛云等,本篇將為你介紹另一種文件存儲方式,即MinIO,需要的朋友可以參考下
    2023-12-12
  • 基于SpringBoot和Vue寫一個2048小游戲

    基于SpringBoot和Vue寫一個2048小游戲

    創(chuàng)建一個基于 Java Spring Boot 后端和 Vue 前端的 2048 游戲,可以按照以下步驟進行,這個項目將包括后端(用來處理游戲邏輯)和前端(用來顯示游戲界面和與用戶交互),感興趣的小伙伴可以參考本文自己動手嘗試一下
    2024-08-08
  • Java通過BCrypt加密過程詳解

    Java通過BCrypt加密過程詳解

    這篇文章主要介紹了Java通過BCrypt加密過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • java枚舉如何使用spring的@value注入屬性

    java枚舉如何使用spring的@value注入屬性

    這篇文章主要介紹了java枚舉如何使用spring的@value注入屬性問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

平邑县| 靖宇县| 沙洋县| 普陀区| 望江县| 广汉市| 家居| 民乐县| 青浦区| 桃园市| 新疆| 明光市| 永顺县| 南通市| 黄大仙区| 潜山县| 石柱| 英吉沙县| 双江| 武夷山市| 新宾| 淮南市| 道孚县| 宁河县| 伊川县| 镇康县| 缙云县| 靖边县| 栾城县| 砀山县| 夏津县| 军事| 绥中县| 安庆市| 封丘县| 嘉荫县| 即墨市| 泰宁县| 泰和县| 遂昌县| 鞍山市|