⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 choosecourse.java

📁 一个用Java写的简单学生成绩管理系统
💻 JAVA
字号:
import javax.swing.*;
import java.sql.*;
import java.sql.ResultSet;
import java.awt.*;
import javax.swing.table.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */

import java.awt.*;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class ChooseCourse
    extends JFrame {
  JPanel jPanel1 = new JPanel();
  JTable jTable1;
  JPanel jPanel2 = new JPanel();
  Border border1 = BorderFactory.createLineBorder(SystemColor.controlText, 1);
  Border border2 = BorderFactory.createLineBorder(Color.lightGray, 1);
  Border border3 = new TitledBorder(border2, "所有待选课程列表");
  Border border4 = BorderFactory.createLineBorder(Color.lightGray, 1);
  Border border5 = new TitledBorder(border4, "选课");
  JLabel jLabel1 = new JLabel();
  JComboBox jComboBox1 = new JComboBox();
  JButton jBok = new JButton();
  JButton jBesc = new JButton();
  TitledBorder titledBorder1 = new TitledBorder("");
  JLabel jLcourse = new JLabel();
  JScrollPane jScrollPane1 = new JScrollPane();
  private String choose;
  private String coursename, professor, address, ctime;
  private Double xuefen;
  public ChooseCourse() {
    try {
      jbInit();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

  }

  private void jbInit() throws Exception {
    this.setTitle("学生选课");
    this.setSize(500, 400);
    this.setResizable(false);
    int count = 1;
    Object[] columnNames = {
        "课程代号", "课程名", "学分", "授课老师", "上课地点", "上课时间"};
    Object[][] rowData = new Object[20][6];
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con = DriverManager.getConnection("jdbc:odbc:srs");
      String sql = "select * from course";
      PreparedStatement ptm = con.prepareStatement(sql);
      ResultSet rs = ptm.executeQuery();
      //int count = 1;
      while (rs.next()) {
        rowData[count][0] = String.valueOf(count);
        rowData[count][1] = rs.getString("coursename");
        rowData[count][2] = Integer.toString(rs.getInt("xuefen"));
        rowData[count][3] = rs.getString("professor");
        rowData[count][4] = rs.getString("address");
        rowData[count][5] = rs.getString("ctime");
        count++;
      }

    }
    catch (Exception ex) {
      JOptionPane.showConfirmDialog(null, "出现错误!", "ERROR",
                                    JOptionPane.YES_OPTION);
      ex.printStackTrace();
      System.exit(1);
    }
    jTable1 = new JTable(rowData, columnNames);
    jTable1.setAutoscrolls(true);
    jTable1.getColumn("学分").setMaxWidth(40);
    jTable1.getColumn("上课地点").setMaxWidth(80);
    jTable1.getColumn("授课老师").setMaxWidth(60);
    jPanel1.setLayout(null);
    jTable1.setBackground(Color.white);
    jTable1.setBorder(border2);
    this.getContentPane().setLayout(null);
    jPanel1.setBounds(new Rectangle(1, 0, 479, 395));
    jPanel2.setBorder(border5);
    jPanel2.setBounds(new Rectangle(8, 247, 463, 104));
    jPanel2.setLayout(null);
    jLabel1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
    jLabel1.setText("选定您要选的课程名");
    jLabel1.setBounds(new Rectangle(66, 21, 157, 21));
    jComboBox1.setBounds(new Rectangle(268, 17, 126, 25));
    /*
         try
         {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con =  DriverManager.getConnection("jdbc:odbc:srs");
      String sql1 = "select * from course";

         }
         catch(Exception ex)
         {

         }*/
    for (int i = 1; i < count; i++) {
      jComboBox1.addItem(rowData[i][1]);
    }
    jComboBox1.addItemListener(new ChooseCourse_jComboBox1_itemAdapter(this));
    jBok.setBounds(new Rectangle(105, 57, 72, 26));
    jBok.setText("确定");
    jBok.addActionListener(new ChooseCourse_jBok_actionAdapter(this));
    jBesc.setBounds(new Rectangle(259, 57, 77, 26));
    jBesc.setText("取消");
    jBesc.addActionListener(new ChooseCourse_jBesc_actionAdapter(this));
    jLcourse.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
    jLcourse.setText("所有课程列表");
    jLcourse.setBounds(new Rectangle(8, 11, 105, 21));
    jScrollPane1.setBorder(border2);
    jScrollPane1.setBounds(new Rectangle(13, 40, 459, 201));
    this.getContentPane().add(jPanel1, null);
    jPanel1.add(new JScrollPane(jTable1));
    jPanel1.add(jPanel2);
    jPanel2.add(jBok);
    jPanel2.add(jBesc);
    jPanel2.add(jComboBox1);
    jPanel2.add(jLabel1);
    jPanel1.add(jLcourse);
    jPanel1.add(jScrollPane1);
    jScrollPane1.getViewport().add(jTable1);
    //jPanel3.add(new JScrollPane(jTable1),BorderLayout.CENTER);
  }

  public void jBok_actionPerformed(ActionEvent e) {
    try {
      String id = LoginDialog.getID();
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con = DriverManager.getConnection("jdbc:odbc:srs");
      Statement stm = con.createStatement();
      String find = "select * from " + id;
      String sql = "insert into " + id +
          "(coursename,xuefen,professor,address,ctime) values('" + coursename +
          "'," + xuefen + ",'" + professor + "','" + address + "','" + ctime +
          "')";
      //System.out.println("test"+sql);
      ResultSet rs = stm.executeQuery(find);

      stm.executeUpdate(sql);
      con.close();
    }
    catch (Exception ex) {
      JOptionPane.showConfirmDialog(null, "请先选定一门您要选的课程!", "ERROR!",
                                    JOptionPane.INFORMATION_MESSAGE);
      ex.printStackTrace();
      System.exit(1);
    }
    finally {
      this.dispose();
      /*
       Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
             MainFrame mainframe = new MainFrame();
       mainframe.setLocation((screenSize.width - mainframe.getSize().width)/2,
          (screenSize.height - mainframe.getSize().height)/2);
             mainframe.setVisible(true);
             this.dispose();
       */
    }
  }

  public void jComboBox1_itemStateChanged(ItemEvent e) {
    int b;
    Object object;
    b = jComboBox1.getSelectedIndex();
    //choose = b + 1;
    object = jComboBox1.getItemAt(b);
    String courseindex = object.toString();
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con = DriverManager.getConnection("jdbc:odbc:srs");
      Statement stm = con.createStatement();
      String sql = "select * from course where coursename='" + courseindex +
          "'";
      System.out.println(sql);
      ResultSet rs = stm.executeQuery(sql);
      //rs.absolute(choose);
      if (rs.next()) {
        coursename = rs.getString("coursename");
        xuefen = Double.valueOf(rs.getDouble("xuefen"));
        professor = rs.getString("professor");
        address = rs.getString("address");
        ctime = rs.getString("ctime");
      }
    }
    catch (Exception ex) {
      JOptionPane.showConfirmDialog(null, "", "ERROE!",
                                    JOptionPane.INFORMATION_MESSAGE);
      ex.printStackTrace();
      System.exit(1);
    }
  }

  public void jBesc_actionPerformed(ActionEvent e) {
    this.dispose();
  }
}

class ChooseCourse_jComboBox1_itemAdapter
    implements ItemListener {
  private ChooseCourse adaptee;
  ChooseCourse_jComboBox1_itemAdapter(ChooseCourse adaptee) {
    this.adaptee = adaptee;
  }

  public void itemStateChanged(ItemEvent e) {
    adaptee.jComboBox1_itemStateChanged(e);
  }
}

class ChooseCourse_jBok_actionAdapter
    implements ActionListener {
  private ChooseCourse adaptee;
  ChooseCourse_jBok_actionAdapter(ChooseCourse adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jBok_actionPerformed(e);
  }
}

class ChooseCourse_jBesc_actionAdapter
    implements ActionListener {
  private ChooseCourse adaptee;
  ChooseCourse_jBesc_actionAdapter(ChooseCourse adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jBesc_actionPerformed(e);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -