📄 inputscore.java~93~
字号:
package sos;
//成绩信息录入
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.Font;
public class InputScore extends JDialog {
String[] lesson = new String[15], score = {"0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0",
"0", "0"},
result = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0"}; //记录已选课程,学分和其成绩
double average = 0; //记录学生的平均成绩
String strNumber = ""; //标记学生学号,退出或是继续时清空!!
String tempLesson = ""; //记录要输入成绩的课程名称
boolean canCalculate = true; //标记能否计算平均成绩
public InputScore(Frame frame, boolean modal) {
super(frame, modal);
setTitle("成绩信息录入");
setSize(420, 220);
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
setVisible(true);
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
jLabel_Prompt.setFont(new java.awt.Font("隶书", Font.BOLD | Font.ITALIC,
25));
jLabel_Prompt.setForeground(Color.blue);
jLabel_Prompt.setHorizontalAlignment(SwingConstants.CENTER);
jLabel_Prompt.setText("正在进行成绩信息录入");
jLabel_Prompt.setBounds(new Rectangle(5, 3, 390, 33));
jLabel_SN.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jLabel_SN.setHorizontalAlignment(SwingConstants.CENTER);
jLabel_SN.setText("学号:");
jLabel_SN.setBounds(new Rectangle(3, 38, 39, 25));
jTextField_SN.setHorizontalAlignment(SwingConstants.CENTER);
jTextField_SN.setBounds(new Rectangle(44, 38, 88, 24));
jTextField_SN.addActionListener(new
InputScore_jTextField_SN_actionAdapter(this));
jLabel_Name.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jLabel_Name.setHorizontalAlignment(SwingConstants.CENTER);
jLabel_Name.setText("姓名:");
jLabel_Name.setBounds(new Rectangle(132, 38, 39, 25));
jTextField_Name.setEditable(false);
jTextField_Name.setHorizontalAlignment(SwingConstants.CENTER);
jTextField_Name.setBounds(new Rectangle(171, 38, 61, 24));
jLabel_Status.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jLabel_Status.setHorizontalAlignment(SwingConstants.CENTER);
jLabel_Status.setText("在读:");
jLabel_Status.setBounds(new Rectangle(233, 38, 39, 25));
jTextField_Status.setEditable(false);
jTextField_Status.setHorizontalAlignment(SwingConstants.CENTER);
jTextField_Status.setBounds(new Rectangle(272, 38, 125, 23));
jLabel_HaveSelected.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jLabel_HaveSelected.setText("本学期已选课程:");
jLabel_HaveSelected.setBounds(new Rectangle(3, 65, 127, 33));
jComboBox_HaveSelected.setEnabled(false);
jComboBox_HaveSelected.setBounds(new Rectangle(131, 68, 251, 30));
jLabel_Score.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jLabel_Score.setText("该课程成绩输入:");
jLabel_Score.setBounds(new Rectangle(3, 103, 127, 33));
jTextField_Score.setBounds(new Rectangle(131, 103, 43, 32));
jTextField_Score.addActionListener(new
InputScore_jTextField_Score_actionAdapter(this));
jTextField_Score.setEditable(false);
jTextField_Score.setHorizontalAlignment(SwingConstants.CENTER);
jButton_Input.setBounds(new Rectangle(188, 103, 100, 31));
jButton_Input.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jButton_Input.setText("录入成绩");
jButton_Input.addActionListener(new
InputScore_jButton_Input_actionAdapter(this));
jButton_Input.setEnabled(false);
jButton_LookMore.setBounds(new Rectangle(291, 103, 100, 31));
jButton_LookMore.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jButton_LookMore.setText("课程信息");
jButton_LookMore.addActionListener(new
InputScore_jButton_LookMore_actionAdapter(this));
jButton_LookMore.setEnabled(false);
jButton_GoOn.setBounds(new Rectangle(10, 139, 130, 36));
jButton_GoOn.setFont(new java.awt.Font("华文彩云", Font.BOLD, 15));
jButton_GoOn.setText("继续成绩录入");
jButton_GoOn.addActionListener(new
InputScore_jButton_GoOn_actionAdapter(this));
jButton_GoOn.setEnabled(false);
jButton_Cancel.setBounds(new Rectangle(150, 139, 130, 36));
jButton_Cancel.setFont(new java.awt.Font("华文彩云", Font.BOLD, 15));
jButton_Cancel.setText("退出成绩录入");
jButton_Cancel.addActionListener(new
InputScore_jButton_Cancel_actionAdapter(this));
jButton_Calculate.setBounds(new Rectangle(291, 144, 94, 29));
jButton_Calculate.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jButton_Calculate.setText("计算");
jButton_Calculate.addActionListener(new
InputScore_jButton_Calculate_actionAdapter(this));
jButton_Calculate.setEnabled(false);
this.getContentPane().add(jLabel_Prompt);
this.getContentPane().add(jLabel_SN);
this.getContentPane().add(jTextField_SN);
this.getContentPane().add(jLabel_Name);
this.getContentPane().add(jTextField_Name);
this.getContentPane().add(jLabel_Status);
this.getContentPane().add(jTextField_Status);
this.getContentPane().add(jComboBox_HaveSelected);
this.getContentPane().add(jLabel_HaveSelected);
this.getContentPane().add(jLabel_Score);
this.getContentPane().add(jTextField_Score);
this.getContentPane().add(jButton_Input);
this.getContentPane().add(jButton_LookMore);
this.getContentPane().add(jButton_GoOn);
this.getContentPane().add(jButton_Cancel);
this.getContentPane().add(jButton_Calculate);
}
public void getLessonInfo() { //显示课程详细信息的方法
String temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8,
temp9, tempLessonName, tempLesson = "";
try {
if (jComboBox_HaveSelected.getItemCount() == 0) {
JOptionPane.showMessageDialog(this, "尚未选定任何课程!", "注意!", 2);
throw new Exception();
}
tempLesson = jComboBox_HaveSelected.getSelectedItem().
toString();
Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:db_STU",
"",
"");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from LessonInfo");
while (rs.next()) {
temp1 = rs.getString(2);
tempLessonName = temp2 = rs.getString(3);
temp3 = rs.getString(4);
temp4 = rs.getString(5);
temp5 = rs.getString(6);
temp6 = rs.getString(7);
temp7 = rs.getString(8);
temp8 = rs.getString(9);
temp9 = rs.getString(10);
if (tempLessonName.equals(tempLesson)) {
JOptionPane.showMessageDialog(this,
"课程编号:" + temp1 +
";课程名称:" + temp2 +
";课程性质:" + temp3 +
";课程学分:" + temp4 +
";\n上课地点:" + temp5 +
";授课教师:" + temp6 +
";课程学时:" + temp7 +
";考试类型:" + temp8 +
";实验:" + temp9 +
"。",
"课程详细信息", 2);
break;
}
}
stmt.close();
con.close();
} catch (Exception e) {}
}
public void getInfo() { //从Basic_Info中获得基本信息并输出在窗口中
strNumber = jTextField_SN.getText().trim();
String strName = "", strStatus = "";
try {
Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:db_STU", "",
"");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from Basic_Info");
while (rs.next()) {
if (strNumber.equals(rs.getString(1))) {
jTextField_SN.setEditable(false);
strName = rs.getString(2);
jTextField_Name.setText(strName);
strStatus = rs.getString(11);
jTextField_Status.setText(strStatus);
jTextField_Score.setEditable(true);
jComboBox_HaveSelected.setEnabled(true);
jButton_LookMore.setEnabled(true);
jButton_Input.setEnabled(true);
jButton_GoOn.setEnabled(true);
jButton_Calculate.setEnabled(true);
break;
}
}
if (strName.equals("")) {
JOptionPane.showMessageDialog(this,
"抱歉,没找到学号为“" + strNumber +
"”的学生记录。请检查输入的学号是否正确!\n如有其它问题请与管理员联系。",
"注意!", 2);
}
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void getSelectedInfo() { //从Result_Info中获得已选的课程信息并输出在JComboBox中,并保存在数组中
jComboBox_HaveSelected.removeAllItems();
strNumber = jTextField_SN.getText().trim();
try {
Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:db_STU", "",
"");
stmt = con.createStatement();
rs = stmt.executeQuery("select 学号,课程1,课程2,课程3,课程4,课程5,课程6,课程7,课程8,课程9,课程10,课程11,课程12,课程13,课程14,课程15 from Result_Info");
while (rs.next()) {
if (rs.getString(1).equals(strNumber)) {
for (int i = 1; i <= 15; i++) {
String temp = rs.getString(i + 1);
if (temp != null) {
jComboBox_HaveSelected.addItem(temp);
lesson[i - 1] = temp;
}
}
}
}
rs = stmt.executeQuery(
"select 学号,学分1,学分2,学分3,学分4,学分5,学分6,学分7,学分8,学分9,学分10,学分11,学分12,学分13,学分14,学分15 from Result_Info");
while (rs.next()) {
if (rs.getString(1).equals(strNumber)) {
for (int i = 1; i <= 15; i++) {
String temp = rs.getString(i + 1);
if (!temp.equals("0")) {
score[i - 1] = temp;
}
}
}
}
rs = stmt.executeQuery("select 学号,成绩1,成绩2,成绩3,成绩4,成绩5,成绩6,成绩7,成绩8,成绩9,成绩10,成绩11,成绩12,成绩13,成绩14,成绩15 from Result_Info");
while (rs.next()) {
if (rs.getString(1).equals(strNumber)) {
for (int i = 1; i <= 15; i++) {
String temp = rs.getString(i + 1);
if (!temp.equals("0")) {
result[i - 1] = temp;
}
}
}
}
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -