📄 mainui.java
字号:
package scoremis;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class MainUI extends JFrame
{
Toolkit tk=Toolkit.getDefaultToolkit();//用于设置窗口的大小
Dimension sSize=tk.getScreenSize();//取得窗体的大小
int sh=sSize.height;//分别设置窗口的高与宽
int sw=sSize.width;
BorderLayout borderLayout1=new BorderLayout();//设置窗口的布局方式为边框布局
MenuBar mb=new MenuBar();
Menu sys=new Menu Menu("系统管理");
MenuItem scopy=new MenuItem("数据 备份");
MenuItem sback=new MenuItem("数据恢复");
MenuItem sdayadmin=new MenuItem("日常管理");
MenuItem squit=new MenuItem("退出");
Menu peo=new Menu("人员管理");
MenuItem pstu=new MenuItem("学生管理");
Menu cou=new Menu("课程管理");
MenuItem clogin=new MenuItem("课程注册");
MenuItem inputc=new MenuItem("任课登录");
Menu scr=new Menu("成绩管理");
MenuItem sinput=new MenuItem("成绩录入");
MenuItem squery=new MenuItem("成绩查询");
MenuItem sedit=new MenuItem("成绩修改");
Menu menu5=new Menu("帮助");
MenuItem sintro=new MenuItem("软件介绍");
MenuItem ptec=new MenuItem("教师管理");
JPanel p=new JPanel();
private String user,psd,sf;
public MainUI(String name,String psd,String sf)
{
try{
user=name;
this.psd=psd;
this.sf=sf;
jbInit();
}catch(Exception exception)
{
exception.printStackTrace();
}
}
private void jbInit() throws Exception
{
setTitle("学生成绩管理系统"); //用于设置主窗体的标题,大小,位置,是否可改变大小
setSize(sw*3/5,sh*3/5);
setLocation("sw/4,sh/4");
setResizable(false);
Container c=getContentPane();
setMenuBar(mb); //添加菜单条
scopy.addActionListener(new Beifen());//为各个菜单项添加监视器
sback.addActionListener(new Beifen());
sdayamin.addActionListener(new ActionListener());//日常管理
{
public void actionPerformed(ActionEvent e)
{
DayManage ti=new DayManage(user,psd);
ti.setSize(sw/2,sh/2); //用于设置日常管理类窗口的大小,位置,及可见性
ti.Location(sw/4,sh/4);
ti.setVisible(true);
}
}
squit.addActionListener(new ActionListener());//用于处理退出子菜单
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
ptec.addActionListener(new ActionListener())//对教师管理进行处理
{
public void actionPerformed(ActionEvent e)
{
TeaUI ti=new TeaUI();
ti.setSize(sw/2,sh/2);
ti.setLocation(sw/4,sj/4);
ti.setVisible(true);
}
}
sintro.addActionListener(new ActionListener()); //对软件介绍进行设置
{
public void actionPerformed(ActionEvent e)
{
helpFrame hf=new helpFrame();
hf.setSize(400,400);
hf.setLocation(sw/4,sh/4);
hf.setVisible(true);
hf.setResizable(false);
}
}
pstu.addActionListener(new ActionListener());//根据不同的登录身份分别调用不同的构造函数
{
public void actionPerformed(AventEvent e)
{
if(sf.equals("学生"))
{ StudentQuery s=new StudentQuery(user,psd);
s.setTitle("学生个人信息");
s.setSize(sw/2,sh/2);
s.setLication(sw/4,sw/4);
s.setVisible("true");
}
else
{
StuUI sui=new StuUI();
sui.setSize(sw/2,sh/2);
sui.setLocation(sw/4,sh/4);
sui.setVisible(true);
}
}
clogin.addActionListener(new ActionListener());//对课程注册进行处理
{
public void actionPerformed(ActionEvent e)
{
InputCourse ic=new InputCourse();
ic.setSize(380,300);
ic.setLocation(sw/3,sh/3);
ic.setResizable(false);
ic.setVisible(true);
}
}
inputc.addActionListener(new ActionListener());//对任课登录添加监视器
{
public void actionPerformed(ActionEvent e)//设置任课登录的大小,位置,与可见性
{
InputT_C ic=new InputT_C();
ic.setSize(440,500);
ic.setLocation(sw/3,sh/3);
ic.setVisible(true);
}
}
sinput.addActionListener(new ActionListener());//对“成绩录入”添加监视器
{
public void actionPerformed(ActionEvent e){//设计成绩录入界面的标题,大小,位置,可见性
InputScore is=new InputScore(user,psd);
is.setTitle("成绩录入");
is.setSize(sw-350,sh-300);
is.setLocation(sw/6,sh/6);
is.setVisible(true);
}
}
squery.addActionListener(new ActionListener());//给成绩查询添加监视器
{
public void actionPerformed(ActionEvent e)
{
if(sf.equals("学生")) //如果登录的身份是学生进行信息查询则登录的是学生成绩查询界面
{
SScoreQuery scq=new SScoreQuery(user,psd)
scq.setTitle("学生成绩查询");
scq.setSize(sw-350,sh-300);
scq.setLocation(sw/6,sh/6);
scq.setResizable(false);
scq.setVisible(true);
}
else
{
QueryScore is=null; //如果登录的界面是管理员或者是教师则登录到的是成绩查询界面
if(sf.equals("管理员"))
{is=new QueryScore(user,psd,"管理员");}
else
{is=new QueryScore(user,psd,"教师");}
is.setTitle("成绩查询");
is.setSize(sw-350,sh-300);
is.setLocation(sw/6,sh/6);
is.setResiable(false);
is.setVisible(true);
}
}
}
sedit.addActionListener(new ActionListener());//为“成绩修改”添加监视器
{
public void actionPerformed(ActionEvent e)//设计成绩修改界面的标题,大小,位置,是否可以改变大小,以及窗口是否可见
{
EditScore es=new EditScore(user,psd);
es.setTitle("成绩修改");
es.setSize(sw-350,sh-300);
es.setLocation(sw/6,sh/6);
es.setResizable(false);
es.setVisible(true);
}
}
mb.add(sys); //给菜单条添加各个主菜单(系统管理,人员管理,课程管理,成绩管理,帮助)
mb.add(peo);
mb.add(cou);
mb.add(scr);
mb.add(menu5);
sys.add(scopy); //给系统管理添加各个子菜单(数据备份,数据恢复,日常管理,退出)
sys.add(sback);
sys.addSeparator();
sys.add(sdayamin);
sys.addSeparator();
sys.add(squit);
peo.add(stu); //为人员管理添加子菜单(学生管理,教师管理)
peo.add(ptec);
cou.add(clogin); //为课程管理添加子菜单(课程注册,任课登录)
cou.add(inputc);
scr.add(sinput); //为成绩管理添加子菜单(成绩录入,成绩查询,成绩修改)
scr.add(squery);
scr.add(sedit);
menu5.add(sintro); //为主菜单menu5添加子菜单软件介绍
p.add(new JLabel(new ImageIcon("石头勤")));//在面版上添加一幅图片
c.add(p,"Center");//在窗体上加载面板
}
class Beifen implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JFileChooser backup=new JFileChooser();
File backfile=backup.getSelectFile();
FileInputStream fr=null;
FileOutputStream fw=null;
try
{
if(e.getSource()==scopy)//数据倍份获得焦点是时的处理
{
File f1=new File("studentcourse.mdb");
fr=new FileInputStream(f1.getAbsolutePath());
fw=new FileOutputStream(backfile);
}
else if(e.getSource()==sback)//数据恢复获得焦点时的处理
{
File f1=new File("studentcourse.mdb");
fr=new FileInputStream();
fw=new FileOutStream(f1.getAbsolutePath());
}
JProgressBar b=new JProgressBar();
b.setIndeterminate(true);
b.setVisible(true);
byte c[]=new byte[1024*5];
int i1;
while((i1=fr.read(c))!=-1)
{fw.write(c,0,i1);
}
fw.flush();
fr.close();
fw.close();
if(e.getSource()==scopy)
{
JOptionPane.showMessageDialog(null,"备份完成");}
else
{ JOptionPane.showMessageDialog(null,"恢复完成");}
}
catch(IOException e1)
{
System.out.println(e1.toString());
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -