add3.addActionListener(this); delete3.addActionListener(this); updata3.addActionListener(this); 学生查询.addActionListener(this); card=new CardLayout(); pCenter=new JPanel(); pCenter.setLayout(card);
增加学生界面=new Addstu(); 修改学生界面=new Updatastu(); 删除学生界面=new Delstu(); 增加课程界面=new AddC(); 删除课程界面=new DelC(); 修改课程界面=new UpdateC(); 增加选课界面=new AddSC(); 删除选课界面=new DelSC(); 修改选课界面=new UpdateSC(); 学生查询界面=new Selstu();
pCenter.add(\欢迎界面\ pCenter.add(\增加学生界面\增加学生界面); pCenter.add(\修改学生界面\修改学生界面); pCenter.add(\删除学生界面\删除学生界面); pCenter.add(\增加课程界面\增加课程界面); pCenter.add(\删除课程界面\删除课程界面); pCenter.add(\修改课程界面\修改课程界面); pCenter.add(\增加选课界面\增加选课界面); pCenter.add(\删除选课界面\删除选课界面); pCenter.add(\修改选课界面\修改选课界面); pCenter.add(\学生查询界面\学生查询界面); add(pCenter,BorderLayout.CENTER); validate(); setVisible(true); setBounds(400,150,400,280); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addWindowListener(new WindowAdapter(){//关闭程序时的操作 public void windowClosing(WindowEvent e){System.exit(0);} }); validate();}
private void addJMenuBar() { mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);} private void addMenu4() { m4.add(学生查询);m4.setFont(t);} private void addMenu3() { m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t); } private void addMenu2() {//将菜单加入到菜单栏中 m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t); }
private void addMenu1() { m1.add(add1);m1.add(updata1);m1.add(delete1);m1.setFont(t); } public void actionPerformed(ActionEvent e){ Object obj=e.getSource(); if(obj==m5){System.exit(0);} else{if(obj==add1){card.show(pCenter,\增加学生界面\ else{if(obj==updata1){ card.show(pCenter,\修改学生界面\ else{if(obj==delete1){ card.show(pCenter, \删除学生界面\ else{if(obj==add2){ card.show(pCenter, \增加课程界面\ else{if(obj==delete2){ card.show(pCenter, \删除课程界面\ else{if(obj==updata2){ card.show(pCenter, \修改课程界面\ else{if(obj==add3){ card.show(pCenter, \增加选课界面\ else{if(obj==delete3){ card.show(pCenter, \删除选课界面\ else{if(obj==updata3){ card.show(pCenter, \修改选课界面\ else{if(obj==学生查询){ card.show(pCenter, \学生查询界面\ }}}}}}}}}}}} public static void main(String[] args) {new Menu();}} 效果图:
添加界面:AddC.java/AddSC.java/Addstu.java
添加数据时,若遇到必须信息未填写、不能重复的信息在数据库中已存在,都会提示无法添加及其错误原因。
import java.awt.*; import javax.swing.*; import java.sql.*; import java.awt.event.*;
public class AddC extends JPanel implements ActionListener{
JTextField 课号,课名; JButton 录入;
public AddC(){
try
{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println(\不能设置外观: \+e);}
课号=new JTextField(12); 课名=new JTextField(12); 录入=new JButton(\录入\); 录入.addActionListener(this);
Box box1=Box.createHorizontalBox();//横放box Box box2=Box.createHorizontalBox(); Box box3=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); box1.add(new JLabel(\课号:\)); box1.add(课号);
box2.add(new JLabel(\课名:\)); box2.add(课名); box4.add(录入);
Box boxH=Box.createVerticalBox();//竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4);
boxH.add(Box.createVerticalGlue()); JPanel messPanel=new JPanel(); messPanel.add(boxH);
setLayout(new BorderLayout()); add(messPanel,BorderLayout.CENTER); validate();}
效果图:
添加界面:UpdateC.java/UpdateSC.java /Updatestu.java
先查找你想要修改的项目,若修改的信息包括号码(学号、课号),则会进行查询,如果修改后的号码已存在,以及修改后必须的信息变成空都会提示无法修改和其错误原因。此外,若修改C表或则S表,会连同SC表中对应的信息一起修改。
import java.awt.*; import java.awt.event.*;
import java.sql.*; import javax.swing.*;
public class UpdateC extends JPanel implements ActionListener{
String save=null;
JTextField 课号1,课号,课名;
JButton 修改,查找; public UpdateC(){
try
{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println(\不能设置外观: \+e);}
课号1=new JTextField(12); 课号=new JTextField(12); 课名=new JTextField(12); 修改=new JButton(\修改\); 查找=new JButton(\查找\);
Box box1=Box.createHorizontalBox();//横放box Box box2=Box.createHorizontalBox(); Box box3=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); Box box5=Box.createHorizontalBox();
box1.add(new JLabel(\课号:\,JLabel.CENTER)); box1.add(课号);
box2.add(new JLabel(\课名:\,JLabel.CENTER)); box2.add(课名); box3.add(修改);
box5.add(new JLabel(\课号:\,JLabel.CENTER)); box5.add(课号1); box5.add(查找);
修改.addActionListener(this);
Box boxH=Box.createVerticalBox();//竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4);
boxH.add(Box.createVerticalGlue()); JPanel picPanel=new JPanel(); JPanel messPanel=new JPanel(); messPanel.add(box5); picPanel.add(boxH);
setLayout(new BorderLayout()); JSplitPane splitV=new
查找.addActionListener(this);
JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割 add(splitV,BorderLayout.CENTER);
validate();}
删除界面:DelC.java/DelSC.java /Deltu.java
先查找你想要删除的项目,然后删除,此外,若删除C表或则S表的内容,会连同SC表中对应的信息一起修改。
import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*;
public class DelC extends JPanel implements ActionListener{
String save=null;
JTextField 课号1,课号,课名; JButton 删除,查找; public DelC(){ try
{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println(\不能设置外观: \+e);}
课号1=new JTextField(12); 课号=new JTextField(12); 课名=new JTextField(12); 删除=new JButton(\删除\); 查找=new JButton(\查找\);
Box box1=Box.createHorizontalBox();//横放box Box box2=Box.createHorizontalBox(); Box box3=Box.createHorizontalBox(); Box box4=Box.createHorizontalBox(); Box box5=Box.createHorizontalBox();
box1.add(new JLabel(\课号:\,JLabel.CENTER)); box1.add(课号);
box2.add(new JLabel(\课名:\,JLabel.CENTER)); box2.add(课名); box4.add(删除);
box5.add(new JLabel(\课号:\,JLabel.CENTER)); box5.add(课号1);