簡單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng)
本文實(shí)例為大家分享了Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
package BookDemo_1;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test {
public static void main(String[] args) {
StudentSys stuSys=new StudentSys("學(xué)生管理系統(tǒng)");
stuSys.initWin();
}
}
class StudentSys extends JFrame{
private JPanel p1,p2,p3,combop;
private JTabbedPane tab;
private Container container;
private JButton b1,b2;
private Listener listener;
private Label nameLabel;
private Label gradeLabel;
private Label showLabel;
private JTextField textName;
private JTextField textGrade;
private TextArea showGradeArea;
/*
* 查找
* */
private Label searchLabel;
private JTextField searchText;
private JButton sBut;
private JTextField resultText;
private String[] name;
private String[] grade;
/*
* 排序
* */
private TextArea showTextArea;
private JButton sortBut;
private int countNum=0;
private JButton clearBut;
public StudentSys(String str){
super(str);
this.name=new String[100];
this.grade=new String[100];
listener = new Listener();
tab = new JTabbedPane(JTabbedPane.TOP);
//容器
container = this.getLayeredPane();
//對象化面板
combop = new JPanel();
p1 = new JPanel();
p2 = new JPanel();
p3 = new JPanel();
b1 =new JButton("確認(rèn)添加");
b2 =new JButton("撤回添加");
nameLabel =new Label("姓名");
gradeLabel =new Label("成績");
showLabel=new Label("當(dāng)前記錄為零! ");
textName =new JTextField(15);
textGrade =new JTextField(15);
showGradeArea=new TextArea();
/*
* 查找
* */
searchLabel=new Label("請輸入姓名:");
searchText=new JTextField(15);
sBut=new JButton("確認(rèn)查找");
resultText=new JTextField(15);
/*
* 排序
* */
showTextArea=new TextArea();
sortBut=new JButton("成績排序");
clearBut=new JButton("清空數(shù)據(jù)");
}
public void initWin(){
this.setBounds(300, 300, 500, 400);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(0);
}});
layoutWin();
this.setVisible(true);
}
private void layoutWin(){
tab.add(p1,"成績輸入");
tab.add(p2,"成績查詢");
tab.add(p3,"成績排序");
combop.add(new JLabel("學(xué)生信息管理系統(tǒng)"));
container.setLayout(new BorderLayout());
container.add(combop,BorderLayout.NORTH);
container.add(tab,BorderLayout.CENTER);
Container con1=new Container();
con1.setLayout(new FlowLayout());
con1.add(nameLabel);
con1.add(textName);
con1.add(gradeLabel);
con1.add(textGrade);
p1.add(con1,BorderLayout.NORTH);
p1.add(con1);
p1.add(showGradeArea);
Container con2=new Container();
con2.setLayout(new FlowLayout());
con2.add(b1);
con2.add(b2);
con2.add(showLabel);
p1.add(con2);
b1.addActionListener(listener);
b2.addActionListener(listener);
/*
* 查找布局
* */
Container con3=new Container();
con3.setLayout(new FlowLayout());
con3.add(searchLabel);
con3.add(searchText);
con3.add(sBut);
p2.add(con3,BorderLayout.NORTH);
sBut.addActionListener(listener);
p2.add(resultText);
/*
* 排序布局
* */
p3.add(showTextArea);
p3.add(sortBut);
p3.add(clearBut);
sortBut.addActionListener(listener);
clearBut.addActionListener(listener);
}
/*
* java內(nèi)部類實(shí)現(xiàn)ActionListener接口
* */
class Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b1){
if((textName.getText().equals(""))||(textGrade.getText().equals(""))){
showLabel.setText("添加失敗(姓名,成績不能有空)!");
}
else{
name[countNum]=textName.getText();
grade[countNum]=textGrade.getText();
countNum++;
String area="添加成功,當(dāng)前有"+countNum+"條記錄";
showLabel.setText(area);
sortMess(false);
textName.setText("");
textGrade.setText("");
}
}
if(e.getSource()==b2){
if(countNum>0){
countNum--;
String area="撤回成功,當(dāng)前有"+countNum+"條記錄";
showLabel.setText(area);
sortMess(false);
}
}
if(e.getSource()==sBut){
if(!searchText.getText().equals("")){
searchMess(searchText.getText());
}
}
if(e.getSource()==sortBut){
sortMess(true);
}
if(e.getSource()==clearBut){
if(!showTextArea.getText().equals("")){
showTextArea.setText("");
}
}
}
public void sortMess(boolean sign) {
// TODO Auto-generated method stub
if(sign){
for(int i=0;i<countNum;i++){
for(int j=i+1;j<countNum;j++){
if(Integer.parseInt(grade[i])<Integer.parseInt(grade[j])){
String s1,s2;
s1=name[i];
s2=grade[i];
name[i]=name[j];
grade[i]=grade[j];
name[j]=s1;
grade[j]=s2;
}
}
}
}else{
if(!showGradeArea.getText().equals("")){
showGradeArea.setText("");
}
}
for(int i=0;i<countNum;i++){
String content="姓名:"+name[i]+"\t"+"成績"+grade[i];
if(sign)showTextArea.append(content+"\n");
else showGradeArea.append(content+"\n");
}
}
public void searchMess(String n) {
// TODO Auto-generated method stub
for(int i=0;i<countNum;i++){
if(name[i].equals(n)){
String content="姓名:"+name[i]+","+"成績"+grade[i];
resultText.setText(content);
return;
}
}
resultText.setText("未找到該學(xué)生!");
}
}
}
更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)Java程序設(shè)計(jì)有所幫助。
- Java+Mysql學(xué)生管理系統(tǒng)源碼
- javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- Java+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
- java學(xué)生管理系統(tǒng)界面簡單實(shí)現(xiàn)(全)
- java學(xué)生信息管理系統(tǒng)源代碼
- Java?GUI實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
- java實(shí)現(xiàn)簡單的學(xué)生信息管理系統(tǒng)代碼實(shí)例
- java(swing)+ mysql實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
- Java基于MySQL實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- Java實(shí)現(xiàn)簡易學(xué)生管理系統(tǒng)
相關(guān)文章
Java 實(shí)戰(zhàn)項(xiàng)目之CRM客戶管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個(gè)CRM客戶管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11
數(shù)據(jù)庫CURD必備搭檔mybatis?plus詳解
這篇文章主要為大家介紹了數(shù)據(jù)庫CURD必備搭檔mybatis?plus詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
SpringCloud對服務(wù)內(nèi)某個(gè)client進(jìn)行單獨(dú)配置的操作步驟
我們的微服務(wù)項(xiàng)目用的是springCloud,某個(gè)微服務(wù)接口因?yàn)閿?shù)據(jù)處理量大,出現(xiàn)了接口超時(shí)的情況,我們需要單獨(dú)修改這一個(gè)feignClient的超時(shí)時(shí)間,所以本文介紹了SpringCloud對服務(wù)內(nèi)某個(gè)client進(jìn)行單獨(dú)配置的操作步驟,需要的朋友可以參考下2023-10-10
一文深入理解Java中的java.lang.reflect.InvocationTargetException錯(cuò)誤
這篇文章主要給大家介紹了關(guān)于Java中java.lang.reflect.InvocationTargetException錯(cuò)誤的相關(guān)資料,java.lang.reflect.InvocationTargetException是Java中的一個(gè)異常類,它通常是由反射調(diào)用方法時(shí)拋出的異常,需要的朋友可以參考下2024-03-03
SpringBoot快速入門及起步依賴解析(實(shí)例詳解)
SpringBoot?是由?Pivotal?團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化?Spring?應(yīng)用的初始搭建以及開發(fā)過程,這篇文章主要介紹了SpringBoot快速入門及起步依賴解析,需要的朋友可以參考下2022-10-10
Java為什么基本數(shù)據(jù)類型不需要進(jìn)行創(chuàng)建對象?
今天小編就為大家分享一篇關(guān)于Java為什么基本數(shù)據(jù)類型不需要進(jìn)行創(chuàng)建對象?,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
SpringBoot 使用WebSocket功能(實(shí)現(xiàn)步驟)
本文通過詳細(xì)步驟介紹了SpringBoot 使用WebSocket功能,首先需要導(dǎo)入WebSocket坐標(biāo),編寫WebSocket配置類,用于注冊WebSocket的Bean,結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-02-02
Java自定義實(shí)現(xiàn)鏈隊(duì)列詳解
這篇文章主要為大家詳細(xì)介紹了Java自定義實(shí)現(xiàn)鏈隊(duì)列的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12

