087 // 菜单项 JMenuItem stuR; JMenuItem stuQ; JMenuItem stuD JMenuItem majorR; JMenuItem major JMenuItem majorD; JMenuItem majorU; public MainFrame() { SR = new JPanel(); SQ = new JPanel(); SD = new JPanel(); SU = new JPanel(); MR = new JPanel(); MQ = new JPanel(); MU = new JPanel(); MD = new JPanel(); majorID = 1; stuID = 1; new Thread(this).start(); cards = new CardLayout(); font = new Font("myFont", Font.PLAIN, 15); MID = new Vector(); // 当Major的ID的删除完时,显示 MID.add(""); // 菜单条 menuBar = new JMenuBar(); setTitle("学生管理"); setSize(400, 377); setLocation(530, 200); Main_Pane(this.getContentPane()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
stuR = new JMenuItem("登记"); stuQ = new JMenuItem("查询"); stuD = new JMenuItem("删除"); stuU = new JMenuItem("更新"); JMenu stu = new JMenu("学生"); stu.add(stuR);
stu.add(stuQ); stu.add(stuU); stu.add(stuD); majorR = new JMenuItem("登记"); majorQ = new JMenuItem("查询"); majorU = new JMenuItem("更新"); majorD = new JMenuItem("删除"); JMenu major = new JMenu("专业"); major.add(majorR); major.add(majorQ); major.add(majorU); major.add(majorD); menuBar.add(stu); menuBar.add(major); this.setJMenuBar(menuBar); // 增加监听器 stuR.addActionListener(this); stuQ.addActionListener(this); stuD.addActionListener(this); stuU.addActionListener(this); majorR.addActionListener(this); majorQ.addActionListener(this); majorD.addActionListener(this); majorU.addActionListener(this); } @Override public void run() { SR_Pane(); SQ_Pane(); SD_Pane(); SU_Pane(); MR_Pane(); MQ_Pane(); MU_Pane(); MD_Pane(); } // 学生登记和查询面板 public void SR_Pane() { SR.setLayout(new GridLayout(6, 2)); JLabel labelID = new JLabel("学号", JLabel.CENTER); JLabel labelName = new JLabel("姓名", JLabel.CENTER); JLabel labelSex = new JLabel("性别", JLabel.CENTER); JLabel labelClass = new JLabel("班级", JLabel.CENTER); JLabel labelMajor = new JLabel("专业码", JLabel.CENTER); labelID.setFont(font); labelName.setFont(font); labelSex.setFont(font); labelClass.setFont(font); labelMajor.setFont(font); SR_ID = new JTextField(); SR_ID.setText(String.valueOf(stuID)); SR_Name = new JTextField(); SR_Sex = new JTextField(); SR_Class = new JTextField(); SR_Major = new JComboBox<Vector>(MID); SR_Yes = new JButton("登记"); SR_No = new JButton("取消"); SR_Yes.addActionListener(this); SR_No.addActionListener(this); SR.add(labelID); SR.add(SR_ID); SR.add(labelName); SR.add(SR_Name); SR.add(labelSex); SR.add(SR_Sex); SR.add(labelClass); SR.add(SR_Class); SR.add(labelMajor); SR.add(SR_Major); SR.add(SR_Yes); SR.add(SR_No); }
public void SQ_Pane() { SQ.setLayout(new GridLayout(6, 2)); JLabel labelID = new JLabel("学号", JLabel.CENTER); JLabel labelName = new JLabel("姓名", JLabel.CENTER); JLabel labelSex = new JLabel("性别", JLabel.CENTER); JLabel labelClass = new JLabel("班级", JLabel.CENTER); JLabel labelMajor = new JLabel("专业码", JLabel.CENTER); JLabel SD_Tip = new JLabel("输入学号", JLabel.CENTER); labelID.setFont(font); labelName.setFont(font); labelSex.setFont(font); labelClass.setFont(font); labelMajor.setFont(font); SD_Tip.setFont(font); SQ_ID = new JTextField(); SQ_Name = new JTextField(); SQ_Sex = new JTextField(); SQ_Class = new JTextField(); SQ_Major = new JTextField(); SQ_Yes = new JButton("查询"); SQ_Yes.addActionListener(this); SQ.add(labelID); SQ.add(SQ_ID); SQ.add(labelName); SQ.add(SQ_Name); SQ.add(labelSex); SQ.add(SQ_Sex); SQ.add(labelClass); SQ.add(SQ_Class); SQ.add(labelMajor); SQ.add(SQ_Major); SQ.add(SD_Tip); SQ.add(SQ_Yes); } public void SD_Pane() { SD.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); JLabel label = new JLabel("学号", JLabel.CENTER); SD_Field = new JTextField(); JButton delete = new JButton("删除"); c.fill = GridBagConstraints.HORIZONTAL; c.gridwidth = 1; c.insets = new Insets(10, 10, 10, 10); SD.add(label, c); c.gridx = 1; c.gridwidth = 3; c.ipadx = 120; SD.add(SD_Field, c); c.gridwidth = 1; c.gridx = 3; c.ipadx = 0; SD.add(delete, c); delete.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) { sql = "Delete from student where ID="; sql += SD_Field.getText(); sql += ";"; System.out.println(sql); try { int i = Integer.valueOf(SD_Field.getText()); if (isStuExist(i)) { state.execute(sql); JOptionPane.showMessageDialog(SD, "已删除"); } else { JOptionPane.showMessageDialog(SD, "删除失败"); } } catch (SQLException e1) {
JOptionPane.showMessageDialog(SD, "删除失败"); }
} }); } public void SU_Pane() { SU.setLayout(new GridLayout(6, 2)); JLabel labelID = new JLabel("学号", JLabel.CENTER); JLabel labelName = new JLabel("姓名", JLabel.CENTER); JLabel labelSex = new JLabel("性别", JLabel.CENTER); JLabel labelClass = new JLabel("班级", JLabel.CENTER); JLabel labelMajor = new JLabel("专业码", JLabel.CENTER); labelID.setFont(font); labelName.setFont(font); labelSex.setFont(font); labelClass.setFont(font); labelMajor.setFont(font); SU_ID = new JTextField(); SU_Name = new JTextField(); SU_Sex = new JTextField(); SU_Class = new JTextField(); SU_Major = new JTextField(); SU_Update = new JButton("更新");
SU_Update.addActionListener(this); SU_Show = new JButton("显示"); SU_Show.addActionListener(this);
SU.add(labelID); SU.add(SU_ID);
SU.add(labelName); SU.add(SU_Name); SU.add(labelSex); SU.add(SU_Sex); SU.add(labelClass); SU.add(SU_Class); SU.add(labelMajor); SU.add(SU_Major); SU.add(SU_Show); } public void MR_Pane() { MR.setLayout(new GridLayout(3, 2)); JLabel labelID = new JLabel("专业码", JLabel.CENTER); JLabel labelName = new JLabel("专业名", JLabel.CENTER); labelID.setFont(font); labelName.setFont(font); MR_ID = new JTextField(); MR_Name = new JTextField(); MR_ID.setText(String.valueOf(majorID)); MR_Yes = new JButton("登记"); MR_Yes.addActionListener(this); MR_No = new JButton("取消"); MR_No.addActionListener(this); MR.add(labelID); MR.add(MR_ID); MR.add(labelName); MR.add(MR_Name); MR.add(MR_Yes); MR.add(MR_No); } public void MQ_Pane() { MQ.setLayout(new GridLayout(3, 2)); JLabel labelID = new JLabel("专业码", JLabel.CENTER); JLabel labelName = new JLabel("专业名", JLabel.CENTER); labelID.setFont(font); labelName.setFont(font); MQ_ID = new JTextField(); MQ_Name = new JTextField(); MQ_Yes = new JButton("查询"); MQ_Yes.addActionListener(this); MQ.add(labelID); MQ.add(MQ_ID); MQ.add(labelName); MQ.add(MQ_Name); MQ.add(new JLabel("输入专业码", JLabel.CENTER)); MQ.add(MQ_Yes); } public void MU_Pane() { MU.setLayout(new GridLayout(3, 2)); JLabel labelID = new JLabel("专业码", JLabel.CENTER); JLabel labelName = new JLabel("专业名", JLabel.CENTER); labelID.setFont(font); labelName.setFont(font); MU_ID = new JTextField(); MU_Name = new JTextField(); MU_Update = new JButton("更新"); MU_Update.addActionListener(this); MU.add(labelID); MU.add(MU_ID); MU.add(labelName); MU.add(MU_Name); MU.add(new JLabel("输入专业码", JLabel.CENTER)); MU.add(MU_Update); } public void MD_Pane() { MD.setLayout(new GridLayout(2, 2)); JLabel labelID = new JLabel("专业码", JLabel.CENTER); MD_Tip = new JLabel("输入专业码", JLabel.CENTER); labelID.setFont(font); MD_Field = new JTextField(); MD_Delete = new JButton("删除"); MD_Delete.addActionListener(this); MD.add(labelID); MD.add(MD_Field); MD.add(MD_Tip); MD.add(MD_Delete); } @Override public void actionPerformed(ActionEvent e) { Object source = e.getSource(); Container pane = getContentPane(); try { if (source == SR_Yes) { String ID = SR_ID.getText(); String Name = SR_Name.getText(); String Sex = SR_Sex.getText(); String Class = SR_Class.getText(); String Major = String.valueOf(SR_Major.getSelectedItem()); if (ID.length() > 0 && Name.length() > 0 && Sex.length() > 0 && Class.length() > 0 && Major.length() > 0) { sql = "Insert into student values(" + ID + ", '" + Name + "' , '" + Sex + "' ," + Class + "," + Major + ");"; state.execute(sql); stuID++; SR_ID.setText(String.valueOf(stuID)); SR_Name.setText(""); SR_Sex.setText(""); SR_Class.setText(""); } } if (source == SR_No) { SR_Name.setText(""); SR_Sex.setText(""); SR_Class.setText(""); } if (source == SQ_Yes) { String ID = SQ_ID.getText(); if (ID.length() > 0) { if (isStuExist(Integer.valueOf(ID))) { sql = "Select * from student where ID="+ID+";"; ResultSet rs = state.executeQuery(sql); while (rs.next()) { SQ_Name.setText(rs.getString(2)); SQ_Sex.setText(rs.getString(3)); SQ_Class.setText(String.valueOf(rs.getInt(4))); SQ_Major.setText(String.valueOf(rs.getInt(5))); } } else JOptionPane.showMessageDialog(this, "输入的ID不存在"); } } if (source == SU_Show) { showInformation_SU_Pane(); } if (source == SU_Update) { String SUID = SU_ID.getText(); if (SUID.length() > 0) { String Name = SU_Name.getText(); String Sex = SU_Sex.getText(); String Class = SU_Class.getText(); String Major = SU_Major.getText(); sql = "Update student Set Name = '" + Name + "', Sex= ' " + Sex + "', Class= " + Class + ", Major = " + Major + " Where ID =" + SUID; state.executeUpdate(sql); JOptionPane.showMessageDialog(this, "更新成功"); } } if (source == MR_Yes) { String ID = MR_ID.getText(); String MName = MR_Name.getText(); if (ID.length() > 0 && MName.length() > 0) { sql = "Insert into major values( " + ID + ",'" + MName + "');"; state.execute(sql); majorID++; MID.add(Integer.valueOf(ID)); MR_ID.setText(String.valueOf(majorID)); MR_Name.setText(""); } } if (source == MR_No) { MR_Name.setText(""); } if (source == MQ_Yes) { String ID = MQ_ID.getText(); if (ID.length() > 0) { if (isMajorExist(Integer.valueOf(ID))) { sql = "Select * from major where ID=" + ID + ";"; ResultSet rs = state.executeQuery(sql); while (rs.next()) MQ_Name.setText(rs.getString(2)); } else JOptionPane.showMessageDialog(this, "输入的ID不存在"); } } if (source == MU_Update) { String ID = MU_ID.getText(); String Name = MU_Name.getText(); if (ID.length() > 0 && Name.length() > 0) { sql = "Update major set Name = '" + Name + "' where ID =" + ID; state.executeUpdate(sql); JOptionPane.showMessageDialog(this, "更新成功"); } }
if (source == MD_Delete) { String ID = MD_Field.getText(); if (ID.length() > 0) { int i = Integer.valueOf(ID); if (isMajorExist(i)) { try { sql = "Delete from major where ID = " + ID; state.execute(sql); MID.remove((Integer) i); SR_Major.setSelectedItem(""); JOptionPane.showMessageDialog(this, "已删除"); } catch (SQLException e2) { JOptionPane.showMessageDialog(this, "删除失败 ,学生中包含相关专业"); } } else