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

📄 undergraduatedialog.java

📁 关于JAVA的代码连接数据库
💻 JAVA
字号:
package GradeManagement.ui;

import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;

import GradeManagement.model.Undergraduate;
import GradeManagement.model.CourseGrade;
import GradeManagement.util.SystemConstants;

//学生本科生信息录入及修改对话框
public class UndergraduateDialog extends JDialog implements ActionListener{
  private boolean iscanceled = true;
  private JButton okButton,cancelButton;

  private JTextField idField ;             // 学号文本录入框
  private JTextField nameField;            // 姓名文本录入框
  private JTextField scoreField[];         // 成绩文本录入框
  private JTextField articleGradeField;    // 论文成绩录入框
  private JTextField articleTitleField;    // 论文标题录入框

  public UndergraduateDialog(JFrame owner,String title) {
    super(owner,title,true);
    setSize(250,280);
    centerWindowOnScreen(); //让对话框居中
    init();
  }//构造方法GraduateDialog结束

  public void init() {
    okButton = new JButton("确定");
    okButton.addActionListener(this);
    cancelButton = new JButton("取消");
    cancelButton.addActionListener(this);

    String[] labelnames = new String[SystemConstants.UNDGRSCOURSES.length + 4];
    labelnames[0] = new String("ID");
    labelnames[1] = new String("姓名");
    for (int i =0; i < SystemConstants.UNDGRSCOURSES.length; i++) {
      labelnames[i+2] = new String(SystemConstants.UNDGRSCOURSES[i].getName());
    }
    labelnames[labelnames.length-2] = new String("论文成绩");
    labelnames[labelnames.length-1] = new String("论文标题");

    Panel p1 = new Panel();
    p1.setLayout( new GridLayout(labelnames.length , 1));
    for(int i = 0 ;  i < labelnames.length ; i++) {
      p1.add( new JLabel(labelnames[i]));
    }

    //声明文本输入框容器
    Panel p2 = new Panel();
    p2.setLayout( new GridLayout(SystemConstants.UNDGRSCOURSES.length + 4, 1));
    //声明文本输入框
     scoreField = new JTextField[SystemConstants.UNDGRSCOURSES.length];
    this.idField = new JTextField("   ");
    this.nameField = new JTextField("   ");
    p2.add(idField);
    p2.add(nameField);

    scoreField = new JTextField[SystemConstants.UNDGRSCOURSES.length];
    for( int i = 0; i < SystemConstants.UNDGRSCOURSES.length; i++) {
      scoreField[i] = new  JTextField("   ");
      p2.add(scoreField[i]);
    }
    articleGradeField = new JTextField("   ");
    articleTitleField = new JTextField("   ");
    p2.add(articleGradeField);
    p2.add(articleTitleField);

    Panel p3 = new Panel();
    p3.add( okButton );
    p3.add( cancelButton );

    Panel p4 = new Panel();
    p4.setLayout( new GridLayout( 1, 2));
    p4.add(p1);
    p4.add(p2);

    Container contentPane=getContentPane();//获得浏览器提供的顶层容器的内容面板
    contentPane.setLayout(new BorderLayout());
    contentPane.add(p4,"Center");
    contentPane.add(p3,"South");
  }

  public boolean isCanceled() {
    return this.iscanceled;
  }

  public void actionPerformed(ActionEvent evt) {
    Object source = evt.getSource();
    if(source == okButton) {
      this.iscanceled = false;
      //检查学号
      if(idField.getText() == null || idField.getText().trim().length() == 0) {
        JOptionPane.showMessageDialog(null,"学号不能为空,重新输入",
                                      "学号有错",JOptionPane.ERROR_MESSAGE);
        return;
      }
      setVisible(false);
    } else if(source == cancelButton) {
      this.iscanceled = true;
      setVisible(false);
    }
  } // 方法actionPerformed结束

  public Undergraduate getStudent() {
    Undergraduate student = new Undergraduate();
    student.setId(idField.getText().trim());
    student.setName(nameField.getText().trim());
    CourseGrade []grades = new CourseGrade[SystemConstants.UNDGRSCOURSES.length];
    for (int i = 0; i < SystemConstants.UNDGRSCOURSES.length; i++) {
      grades[i] = new CourseGrade(SystemConstants.UNDGRSCOURSES[i].getId(),
                                  convertTextToInt(scoreField[i].getText()));
    }
    student.setGrades(grades);
    student.setGrade(convertTextToInt(articleGradeField.getText()));
    student.setArticle(articleTitleField.getText());
    return student;
  } // 方法getStudent结束

  public void display(Undergraduate student) {
    this.idField.setText(student.getId());
    this.nameField.setText(student.getName());
    for (int i = 0; i < SystemConstants.UNDGRSCOURSES.length; i++) {
      float temp = (student.getCourseGrade())[i].getGrade();
      this.scoreField[i].setText(new Float(temp).toString());
    }
    this.articleGradeField.setText(Float.toString(student.getGrade()));
    this.articleTitleField.setText((student.getArticle()));
  } // 方法display结束

  private void centerWindowOnScreen() {
    Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize();
    int width = getSize().width;
    int height = getSize().height;
    int x = ( screenDimension.width - width ) / 2 ;
    int y = ( screenDimension.height - height ) / 2 ;
    setBounds( x, y, width, height );
  } // 方法centerWindowOnScreen结束

  private int convertTextToInt(String text) {
    int temp;
    try{
      temp = Integer.parseInt(text.trim());
    } catch(NumberFormatException e) {
      temp = -1;
    }
    return temp;
  } // 方法convertTextToInt结束
} // 类UndergraduateDialog结束

⌨️ 快捷键说明

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