📄 studentmanager.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.Hashtable;
public class StudentManager extends JFrame implements ActionListener{
StudentSituation baseInformationSave=null;
ModifySituation baseInformationModify=null;
Inquest baseInformationSearch=null;
Delete baseInformationDelete=null;
ScoreStatistics ss=null;
JMenuBar bar;
JMenu fileMenu,scoreAnalyze,scoreStatistics;
JMenuItem welcome,save,modify,search,delete,exit,sort,aver,statistics;
Container con=null;
Hashtable baseInformation=null;
File file=null;
CardLayout card=null;
JLabel label;
JPanel pCenter;
public StudentManager(){
setTitle("欢迎进入成绩分析系统");
welcome=new JMenuItem("进入欢迎界面");
save=new JMenuItem("录入成绩信息");
modify=new JMenuItem("修改成绩信息");
search=new JMenuItem("查询成绩信息");
delete=new JMenuItem("删除成绩信息");
exit=new JMenuItem("退出本系统");
exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
System.exit(0);
}
});
sort=new JMenuItem("各门课程排序");
aver=new JMenuItem("各人平均成绩");
statistics=new JMenuItem("各科成绩统计");
bar=new JMenuBar();
fileMenu=new JMenu("菜单选项");
fileMenu.add(welcome);
fileMenu.addSeparator();
fileMenu.add(save);
fileMenu.addSeparator();
fileMenu.add(modify);
fileMenu.addSeparator();
fileMenu.add(search);
fileMenu.addSeparator();
fileMenu.add(delete);
fileMenu.addSeparator();
fileMenu.addSeparator();
fileMenu.add(exit);
scoreAnalyze=new JMenu("成绩分析");
scoreAnalyze.add(sort);
scoreAnalyze.addSeparator();
scoreAnalyze.add(aver);
scoreStatistics=new JMenu("成绩统计");
scoreStatistics.add(statistics);
bar.add(fileMenu);
bar.add(scoreAnalyze);
bar.add(scoreStatistics);
this.setJMenuBar(bar);
label=new JLabel("欢迎进入成绩分析系统!",label.CENTER);
label.setFont(new Font("隶书",Font.BOLD,30));
label.setForeground(Color.blue);
baseInformation=new Hashtable();
welcome.addActionListener(this);
save.addActionListener(this);
modify.addActionListener(this);
search.addActionListener(this);
delete.addActionListener(this);
sort.addActionListener(this);
aver.addActionListener(this);
statistics.addActionListener(this);
card=new CardLayout();
con=getContentPane();
pCenter=new JPanel();
pCenter.setLayout(card);
file=new File("input.dat");
if(!file.exists()){
try{
FileOutputStream out=new FileOutputStream(file);
ObjectOutputStream objectOut=new ObjectOutputStream(out);
objectOut.writeObject(baseInformation);
objectOut.close();
out.close();
}
catch(IOException e){
}
}
baseInformationSave=new StudentSituation(file);
baseInformationModify=new ModifySituation(file);
baseInformationDelete=new Delete(file);
pCenter.add("欢迎界面",label);
pCenter.add("录入界面",baseInformationSave);
pCenter.add("修改界面",baseInformationModify);
pCenter.add("删除界面",baseInformationDelete);
con.add(pCenter,BorderLayout.CENTER);
con.validate();//验证此容器及其所有子组件
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,420,380);
validate();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==welcome){
card.show(pCenter,"欢迎界面");
}
if(e.getSource()==save){
card.show(pCenter,"录入界面");
}
else if(e.getSource()==modify){
card.show(pCenter,"修改界面");
}
else if(e.getSource()==search){
baseInformationSearch=new Inquest(this,file);
baseInformationSearch.setVisible(true);
}
else if(e.getSource()==delete){
card.show(pCenter,"删除界面");
}
else if(e.getSource()==sort){
new ScoreSort(file);
}
else if(e.getSource()==aver){
new ScoreAverage(file);
}
else if(e.getSource()==statistics){
ss=new ScoreStatistics(this,file);
ss.setVisible(true);
}
}
public static void main(String args[]){
new StudentManager();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -