📄 stuframe.java
字号:
/* * StuFrame.java * * Created on 2005年10月29日, 上午8:41 * * @author Liuyi */import javax.swing.*;import java.awt.*;public class StuFrame extends javax.swing.JFrame { /** 初始化 */ public StuFrame() { initComponents(); list.setListData(students.stuList.toArray()); Toolkit kit= Toolkit.getDefaultToolkit(); Dimension screenSize=kit.getScreenSize(); setLocation((screenSize.width-getSize().width)/2,(screenSize.height-getSize().height)/2); setTitle("学生成绩管理系统"); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents private void initComponents() { jPanel4 = new javax.swing.JPanel(); list = new javax.swing.JList(); jPanel2 = new javax.swing.JPanel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel(); txtID = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); txtName = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); txtScore = new javax.swing.JTextField(); jPanel3 = new javax.swing.JPanel(); btnAdd = new javax.swing.JButton(); btnDelete = new javax.swing.JButton(); btnSort = new javax.swing.JButton(); btnStat = new javax.swing.JButton(); btnSeek = new javax.swing.JButton(); btnAvg = new javax.swing.JButton(); getContentPane().setLayout(new java.awt.BorderLayout(3, 3)); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); list.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); list.setPreferredSize(new java.awt.Dimension(180, 300)); list.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { listMouseClicked(evt); } }); getContentPane().add(list, java.awt.BorderLayout.WEST); jPanel2.setLayout(new java.awt.GridLayout(5, 0, 30, 10)); jPanel2.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED)); jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); jLabel4.setText("<-\u9009\u62e9\u67e5\u770b\u5b66\u751f\u4fe1\u606f"); jPanel2.add(jLabel4); jLabel5.setText("\u7f16\u8f91\u5b66\u751f\u4fe1\u606f\uff1a"); jPanel2.add(jLabel5); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel1.setText("\u5b66\u53f7\uff1a"); jPanel2.add(jLabel1); jPanel2.add(txtID); jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel2.setText("\u59d3\u540d\uff1a"); jPanel2.add(jLabel2); jPanel2.add(txtName); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); jLabel3.setText("\u6210\u7ee9\uff1a"); jPanel2.add(jLabel3); txtScore.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { txtScoreKeyPressed(evt); } }); jPanel2.add(txtScore); getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER); jPanel3.setPreferredSize(new java.awt.Dimension(10, 50)); btnAdd.setText("\u65b0\u589e"); btnAdd.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAddActionPerformed(evt); } }); jPanel3.add(btnAdd); btnDelete.setText("\u5220\u9664"); btnDelete.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnDeleteActionPerformed(evt); } }); jPanel3.add(btnDelete); btnSort.setText("\u6392\u5e8f"); btnSort.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSortActionPerformed(evt); } }); jPanel3.add(btnSort); btnStat.setText("\u7edf\u8ba1"); btnStat.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnStatActionPerformed(evt); } }); jPanel3.add(btnStat); btnSeek.setText("\u67e5\u8be2"); btnSeek.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSeekActionPerformed(evt); } }); jPanel3.add(btnSeek); btnAvg.setText("\u5e73\u5747\u5206"); btnAvg.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAvgActionPerformed(evt); } }); jPanel3.add(btnAvg); getContentPane().add(jPanel3, java.awt.BorderLayout.SOUTH); pack(); } // </editor-fold>//GEN-END:initComponents private void txtScoreKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtScoreKeyPressed // 修改成绩直接输入数字,按回车键: if (evt.getKeyCode()==10){ if (students.seek(txtID.getText())!=null) { try { students.setScore(txtID.getText(),Float.parseFloat(txtScore.getText())); list.setListData(students.stuList.toArray()); } catch (NumberFormatException e){ JOptionPane.showConfirmDialog(this,"输入格式错误!","操作提示",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE); txtScore.setText("0.0"); } } }; }//GEN-LAST:event_txtScoreKeyPressed private void btnAvgActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAvgActionPerformed // 调用对话框显示平均成绩: JOptionPane.showConfirmDialog(this,"平均分数:"+students.averageScore(),"查询结果",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE); }//GEN-LAST:event_btnAvgActionPerformed private void listMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_listMouseClicked // 单击列表项选择查看学生信息: Student theStudent=(Student)(list.getSelectedValue()); txtID.setText(theStudent.ID); txtName.setText(theStudent.name); txtScore.setText(String.valueOf(theStudent.score)); }//GEN-LAST:event_listMouseClicked private void btnStatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnStatActionPerformed // 统计成绩分布,调用成绩分布对话框,图文并茂显示结果: students.stat(statArr); stat=new Stat(this); stat.setVisible(true); }//GEN-LAST:event_btnStatActionPerformed private void btnSeekActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSeekActionPerformed // 调用查询成绩对话框,输入学号查询成绩 String id=JOptionPane.showInputDialog("要查询学生的成绩,请输入学号:"); Student theStudent=students.seek(id); if ( theStudent == null ) {JOptionPane.showConfirmDialog(this,"查无此人!","查询结果",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE);} else { txtID.setText(theStudent.ID); txtName.setText(theStudent.name); txtScore.setText(String.valueOf(theStudent.score)); } }//GEN-LAST:event_btnSeekActionPerformed private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDeleteActionPerformed // 删除一条学生记录: students.deleteStudent(txtID.getText()); txtID.setText(""); txtName.setText(""); txtScore.setText(String.valueOf(0)); list.setListData(students.stuList.toArray()); }//GEN-LAST:event_btnDeleteActionPerformed private void btnSortActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSortActionPerformed // 按照成绩排序: students.sortByScore(); list.setListData(students.stuList.toArray()); }//GEN-LAST:event_btnSortActionPerformed private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddActionPerformed // 新增一条学生记录:: if (!txtID.getText().equals("")){ try { students.addStudent(txtID.getText(),txtName.getText(),Float.parseFloat(txtScore.getText())); list.setListData(students.stuList.toArray()); } catch (NumberFormatException e){ JOptionPane.showConfirmDialog(this,"输入格式错误!","操作提示",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE); txtScore.setText("0.0"); } } }//GEN-LAST:event_btnAddActionPerformed /** * 运行入口 */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new StuFrame().setVisible(true); } }); } // 变量声明 - 不进行修改//GEN-BEGIN:variables private javax.swing.JButton btnAdd; private javax.swing.JButton btnAvg; private javax.swing.JButton btnDelete; private javax.swing.JButton btnSeek; private javax.swing.JButton btnSort; private javax.swing.JButton btnStat; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private javax.swing.JList list; private javax.swing.JTextField txtID; private javax.swing.JTextField txtName; private javax.swing.JTextField txtScore; // 变量声明结束//GEN-END:variables public float[] statArr=new float[4]; private Students students=new Students(); private Stat stat=null;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -