packagetest;/***
* @hl_mark
**/
importjava.awt.Graphics;import java.io.*;import java.util.*;importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.RowFilter;importjavax.swing.table.DefaultTableModel;importjavax.swing.table.TableModel;importjavax.swing.table.TableRowSorter;public class Test extendsjavax.swing.JFrame {int maxScore , minScore , tot ; doubleaverageScore;int cnt[] = new int[5] ; double percent[] = new double[5] ;
ArrayList studentList= newArrayList();privateObject output;voidupdateDate(){
maxScore= 0 ; minScore = 100; averageScore = 0;for( int i = 0 ; i < 5 ; ++i ) {
cnt[i]= 0;
percent[i]= 0;
}
tot=studentList.size();for( int i = 0 ; i < tot ; ++i ){
Student tmp=(Student)studentList.get(i);int score =tmp.get_score();
averageScore+= (double)score ;if( score > maxScore ) maxScore =score ;if( score < minScore ) minScore =score ;if( score >= 0 && score < 60 ) cnt[4]++;else if( score >=60 && score < 70 ) cnt[3]++;else if( score >=70 && score < 80 ) cnt[2]++;else if( score >=80 && score < 90 ) cnt[1]++;else cnt[0]++;
}
averageScore/=tot;for( int i = 0 ; i < 5 ; ++i ) percent[i] = (double)cnt[i]/tot*100.0;
}publicTest() {
initComponents();
}
@SuppressWarnings("unchecked")//
private voidinitComponents() {
jCheckBoxMenuItem1= newjavax.swing.JCheckBoxMenuItem();
jCheckBoxMenuItem2= newjavax.swing.JCheckBoxMenuItem();
jPanel2= newjavax.swing.JPanel();
jPanel3= newjavax.swing.JPanel();
jMenuBar2= newjavax.swing.JMenuBar();
jMenu2= newjavax.swing.JMenu();
jMenu3= newjavax.swing.JMenu();
jMenu4= newjavax.swing.JMenu();
jMenuBar3= newjavax.swing.JMenuBar();
jMenu5= newjavax.swing.JMenu();
jMenu6= newjavax.swing.JMenu();
jMenuBar4= newjavax.swing.JMenuBar();
jMenu7= newjavax.swing.JMenu();
jMenu8= newjavax.swing.JMenu();
jMenuBar5= newjavax.swing.JMenuBar();
jMenu9= newjavax.swing.JMenu();
jMenu10= newjavax.swing.JMenu();
jMenuBar6= newjavax.swing.JMenuBar();
jMenu11= newjavax.swing.JMenu();
jMenu12= newjavax.swing.JMenu();
jMenuBar7= newjavax.swing.JMenuBar();
jMenu13= newjavax.swing.JMenu();
jMenu14= newjavax.swing.JMenu();
jSeparator3= newjavax.swing.JSeparator();
jLayeredPane1= newjavax.swing.JLayeredPane();
jtfSearch= newjavax.swing.JTextField();
jlbSearch= newjavax.swing.JLabel();
jPanel1= newjavax.swing.JPanel();
jPanel5= newjavax.swing.JPanel();
jlbMaxS= newjavax.swing.JLabel();
jlbMinS= newjavax.swing.JLabel();
jlbAvgS= newjavax.swing.JLabel();
jlbWell= newjavax.swing.JLabel();
jlbGood= newjavax.swing.JLabel();
jlbMiddle= newjavax.swing.JLabel();
jlbPass= newjavax.swing.JLabel();
jlbFail= newjavax.swing.JLabel();
jButton1= newjavax.swing.JButton();
jButton2= newjavax.swing.JButton();
jLabel11= newjavax.swing.JLabel();
jLabel12= newjavax.swing.JLabel();
jLabel13= newjavax.swing.JLabel();
jLabel14= newjavax.swing.JLabel();
jLabel15= newjavax.swing.JLabel();
jTextField7= newjavax.swing.JTextField();
jTextField8= newjavax.swing.JTextField();
jTextField9= newjavax.swing.JTextField();
jTextField10= newjavax.swing.JTextField();
jTextField11= newjavax.swing.JTextField();
jLabel16= newjavax.swing.JLabel();
jLabel17= newjavax.swing.JLabel();
jLabel18= newjavax.swing.JLabel();
jLabel19= newjavax.swing.JLabel();
jLabel20= newjavax.swing.JLabel();
jLabel21= newjavax.swing.JLabel();
jLabel22= newjavax.swing.JLabel();
jLabel23= newjavax.swing.JLabel();
jLabel25= newjavax.swing.JLabel();
jLabel26= newjavax.swing.JLabel();
jLabelM= newjavax.swing.JLabel();
jLabelm= newjavax.swing.JLabel();
jLabela= newjavax.swing.JLabel();
jLabels0= newjavax.swing.JLabel();
jLabels1= newjavax.swing.JLabel();
jLabels3= newjavax.swing.JLabel();
jLabels2= newjavax.swing.JLabel();
jLabels4= newjavax.swing.JLabel();
jLabelp0= newjavax.swing.JLabel();
jLabelp1= newjavax.swing.JLabel();
jLabelp2= newjavax.swing.JLabel();
jLabelp3= newjavax.swing.JLabel();
jLabelp4= newjavax.swing.JLabel();
jSeparator4= newjavax.swing.JSeparator();
jScrollPane2= newjavax.swing.JScrollPane();
jTable1= newjavax.swing.JTable();
jLabelfile= newjavax.swing.JLabel();
jlbScore= newjavax.swing.JLabel();
jlbAnalysis= newjavax.swing.JLabel();
jbSearch= newjavax.swing.JButton();
jMenuBar1= newjavax.swing.JMenuBar();
jMenu1= newjavax.swing.JMenu();
jmOpean0= newjavax.swing.JMenuItem();
jmSave0= newjavax.swing.JMenuItem();
jSeparator1= newjavax.swing.JPopupMenu.Separator();
jmOpean1= newjavax.swing.JMenuItem();
jmSave1= newjavax.swing.JMenuItem();
jSeparator2= newjavax.swing.JPopupMenu.Separator();
jmClear= newjavax.swing.JMenuItem();
jCheckBoxMenuItem1.setSelected(true);
jCheckBoxMenuItem1.setText("jCheckBoxMenuItem1");
jCheckBoxMenuItem2.setSelected(true);
jCheckBoxMenuItem2.setText("jCheckBoxMenuItem2");
javax.swing.GroupLayout jPanel2Layout= newjavax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 22, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel3Layout= newjavax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jMenu2.setText("File");
jMenuBar2.add(jMenu2);
jMenu3.setText("Edit");
jMenuBar2.add(jMenu3);
jMenu4.setText("jMenu4");
jMenu5.setText("File");
jMenuBar3.add(jMenu5);
jMenu6.setText("Edit");
jMenuBar3.add(jMenu6);
jMenu7.setText("File");
jMenuBar4.add(jMenu7);
jMenu8.setText("Edit");
jMenuBar4.add(jMenu8);
jMenu9.setText("File");
jMenuBar5.add(jMenu9);
jMenu10.setText("Edit");
jMenuBar5.add(jMenu10);
jMenu11.setText("File");
jMenuBar6.add(jMenu11);
jMenu12.setText("Edit");
jMenuBar6.add(jMenu12);
jMenu13.setText("File");
jMenuBar7.add(jMenu13);
jMenu14.setText("Edit");
jMenuBar7.add(jMenu14);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("ScoreAnalysisSystem");
jLayeredPane1.setBackground(new java.awt.Color(204, 204, 255));
jLayeredPane1.setBorder(newjavax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jtfSearch.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jtfSearchActionPerformed(evt);
}
});
jlbSearch.setText(" 输入学号或姓名或成绩可以自动查询,点击表头列头可以排序");
jlbSearch.setBorder(newjavax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanel1.setBorder(newjavax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanel5.setBorder(newjavax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jlbMaxS.setText("最高分");
jlbMinS.setText("最低分");
jlbAvgS.setText("平均分");
jlbWell.setText("优秀 ( 90 - 100 )");
jlbGood.setText("良好 ( 80 - 89 )");
jlbMiddle.setText("中等 ( 70 - 79 )");
jlbPass.setText("及格 ( 60 - 69 )");
jlbFail.setText("不及格( 0 - 59 )");
jButton1.setText("显示柱状分析图");
jButton1.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("显示饼状分析图");
jButton2.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jLabel11.setText("人,占");
jLabel12.setText("人,占");
jLabel13.setText("人,占");
jLabel14.setText("人,占");
jLabel15.setText("人,占");
jTextField7.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jTextField7ActionPerformed(evt);
}
});
jTextField8.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jTextField8ActionPerformed(evt);
}
});
jTextField9.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jTextField9ActionPerformed(evt);
}
});
jTextField10.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jTextField10ActionPerformed(evt);
}
});
jTextField11.setToolTipText("");
jTextField11.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jTextField11ActionPerformed(evt);
}
});
jLabel16.setText(" %");
jLabel17.setText(" %");
jLabel18.setText(" %");
jLabel19.setText(" %");
jLabel20.setText(" %");
jLabel21.setText(" %");
jLabel22.setText(" %");
jLabel23.setText(" %");
jLabel25.setText(" %");
jLabel26.setText(" %");
jLabelM.setBackground(new java.awt.Color(255, 255, 255));
jLabelM.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabelm.setBackground(new java.awt.Color(255, 255, 255));
jLabelm.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabela.setBackground(new java.awt.Color(255, 255, 255));
jLabela.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabels0.setBackground(new java.awt.Color(255, 255, 255));
jLabels0.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabels1.setBackground(new java.awt.Color(255, 255, 255));
jLabels1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabels3.setBackground(new java.awt.Color(255, 255, 255));
jLabels3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabels2.setBackground(new java.awt.Color(255, 255, 255));
jLabels2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabels4.setBackground(new java.awt.Color(255, 255, 255));
jLabels4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabelp0.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabelp1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabelp2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabelp3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jLabelp4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
javax.swing.GroupLayout jPanel5Layout= newjavax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(jlbMinS, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jlbMaxS, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jlbGood, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jlbPass, javax.swing.GroupLayout.DEFAULT_SIZE,122, Short.MAX_VALUE)
.addComponent(jlbMiddle, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jlbFail)
.addComponent(jlbAvgS, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelm, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelM, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabela, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jlbWell, javax.swing.GroupLayout.PREFERRED_SIZE,122, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabels0, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabels1, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabels3, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabels4, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabels2, javax.swing.GroupLayout.PREFERRED_SIZE,66, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel11, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE,37, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(jLabelp1, javax.swing.GroupLayout.DEFAULT_SIZE,37, Short.MAX_VALUE)
.addComponent(jLabelp3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabelp4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabelp2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabelp0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel23, javax.swing.GroupLayout.PREFERRED_SIZE,24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE,24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel26, javax.swing.GroupLayout.PREFERRED_SIZE,24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel22, javax.swing.GroupLayout.PREFERRED_SIZE,24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel21, javax.swing.GroupLayout.PREFERRED_SIZE,24, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,127, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE,129, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(15, 15, 15)))
.addGap(325, 325, 325)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE,56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE,22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE,56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel17, javax.swing.GroupLayout.PREFERRED_SIZE,22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE,56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE,22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE,56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel19, javax.swing.GroupLayout.PREFERRED_SIZE,22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE,56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel20, javax.swing.GroupLayout.PREFERRED_SIZE,22, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGap(32, 32, 32)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jlbMaxS, javax.swing.GroupLayout.PREFERRED_SIZE,26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelM, javax.swing.GroupLayout.PREFERRED_SIZE,26, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelm, javax.swing.GroupLayout.PREFERRED_SIZE,26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jlbMinS, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jlbAvgS, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabela, javax.swing.GroupLayout.PREFERRED_SIZE,26, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(39, 39, 39)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(jLabels0, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jlbWell, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabelp0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelp1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jlbGood)
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel17, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabels1, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel26, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jLabel22, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabels2, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel21, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelp2, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jlbMiddle, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(11, 11, 11))
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(jlbPass, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabelp3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jLabels3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel19, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel15, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel20, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jlbFail, javax.swing.GroupLayout.DEFAULT_SIZE,24, Short.MAX_VALUE)
.addComponent(jLabel23, javax.swing.GroupLayout.PREFERRED_SIZE,23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(31, 31, 31))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jLabels4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(32, 32, 32))
.addGroup(jPanel5Layout.createSequentialGroup()
.addComponent(jLabelp4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(32, 32, 32)))
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jTable1.setModel(newjavax.swing.table.DefaultTableModel(newObject [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},newString [] {"学号", "姓名", "成绩"}
) {
Class[] types= newClass [] {
java.lang.String.class, java.lang.String.class, java.lang.Integer.class};public Class getColumnClass(intcolumnIndex) {returntypes [columnIndex];
}
});
jScrollPane2.setViewportView(jTable1);if (jTable1.getColumnModel().getColumnCount() > 0) {
jTable1.getColumnModel().getColumn(0).setHeaderValue("学号");
jTable1.getColumnModel().getColumn(1).setHeaderValue("姓名");
jTable1.getColumnModel().getColumn(2).setHeaderValue("成绩");
}
jLabelfile.setText(" ");
jLabelfile.setBorder(newjavax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
javax.swing.GroupLayout jPanel1Layout= newjavax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 0, 0)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelfile, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE,397, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE,397, Short.MAX_VALUE)))
.addContainerGap())
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE,50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabelfile, javax.swing.GroupLayout.PREFERRED_SIZE,37, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(0, 235, Short.MAX_VALUE)
.addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE,10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 236, Short.MAX_VALUE)))
);
jlbScore.setFont(new java.awt.Font("宋体", 1, 14)); //NOI18N
jlbScore.setText(" 成绩单");
jlbAnalysis.setFont(new java.awt.Font("宋体", 1, 14)); //NOI18N
jlbAnalysis.setText(" 数据分析");
jbSearch.setText("查找");
jbSearch.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jbSearchActionPerformed(evt);
}
});
javax.swing.GroupLayout jLayeredPane1Layout= newjavax.swing.GroupLayout(jLayeredPane1);
jLayeredPane1.setLayout(jLayeredPane1Layout);
jLayeredPane1Layout.setHorizontalGroup(
jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jLayeredPane1Layout.createSequentialGroup()
.addComponent(jtfSearch, javax.swing.GroupLayout.PREFERRED_SIZE,270, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbSearch, javax.swing.GroupLayout.PREFERRED_SIZE,61, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlbSearch, javax.swing.GroupLayout.PREFERRED_SIZE,477, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jLayeredPane1Layout.createSequentialGroup()
.addComponent(jlbScore, javax.swing.GroupLayout.PREFERRED_SIZE,389, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(155, 155, 155)
.addComponent(jlbAnalysis, javax.swing.GroupLayout.PREFERRED_SIZE,372, javax.swing.GroupLayout.PREFERRED_SIZE))
);
jLayeredPane1Layout.setVerticalGroup(
jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jLayeredPane1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jtfSearch, javax.swing.GroupLayout.PREFERRED_SIZE,25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jbSearch)
.addComponent(jlbSearch))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jlbScore, javax.swing.GroupLayout.PREFERRED_SIZE,32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jlbAnalysis, javax.swing.GroupLayout.PREFERRED_SIZE,32, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
jLayeredPane1.setLayer(jtfSearch, javax.swing.JLayeredPane.DEFAULT_LAYER);
jLayeredPane1.setLayer(jlbSearch, javax.swing.JLayeredPane.DEFAULT_LAYER);
jLayeredPane1.setLayer(jPanel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
jLayeredPane1.setLayer(jlbScore, javax.swing.JLayeredPane.DEFAULT_LAYER);
jLayeredPane1.setLayer(jlbAnalysis, javax.swing.JLayeredPane.DEFAULT_LAYER);
jLayeredPane1.setLayer(jbSearch, javax.swing.JLayeredPane.DEFAULT_LAYER);
jMenu1.setText("文件");
jmOpean0.setText("打开文本文件成绩");
jmOpean0.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jmOpean0ActionPerformed(evt);
}
});
jMenu1.add(jmOpean0);
jmSave0.setText("另存为文本文件成绩");
jmSave0.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jmSave0ActionPerformed(evt);
}
});
jMenu1.add(jmSave0);
jMenu1.add(jSeparator1);
jmOpean1.setText("打开对象文件成绩");
jmOpean1.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jmOpean1ActionPerformed(evt);
}
});
jMenu1.add(jmOpean1);
jmSave1.setText("另存为对象文件成绩");
jmSave1.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jmSave1ActionPerformed(evt);
}
});
jMenu1.add(jmSave1);
jMenu1.add(jSeparator2);
jmClear.setText("清除数据");
jmClear.addActionListener(newjava.awt.event.ActionListener() {public voidactionPerformed(java.awt.event.ActionEvent evt) {
jmClearActionPerformed(evt);
}
});
jMenu1.add(jmClear);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout= newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE,828, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE,1, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE,10, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
pack();
}//
private voidjmOpean1ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
studentList.clear(); //清空线性表
JFileChooser filechooser = newJFileChooser();if( filechooser.showOpenDialog(null) ==JFileChooser.APPROVE_OPTION ){
File file=filechooser.getSelectedFile();try{
DataInputStream input= newDataInputStream
(newFileInputStream(file) );while(true){
String id= "" ;String name = "" ;int score=0;
String s=input.readUTF();//System.out.println(s);
if( s.length() == 0 ) continue;
StringBuilder sb= newStringBuilder();
sb.append(s);int cnt = 0;for( int i = 0 ; i < sb.length(); ++i ){char op =sb.charAt(i);if( op == ',' ) { cnt++; continue; }if( cnt == 0 ) id +=op;else if( cnt == 1 ) name +=op;else{
score= score * 10 + (op-'0');
}
}
studentList.add(newStudent(id,name,score) );
}
}catch( EOFException ex){
System.out.println("All data read");
}catch(IOException ex) {
ex.printStackTrace();
}
updateDate();//更新最高最低分,百分比
jLabelM.setText(maxScore+"");
jLabelm.setText(minScore+"");
jLabela.setText(averageScore+"");
jLabels0.setText(cnt[0]+"");
jLabels1.setText(cnt[1]+"");
jLabels2.setText(cnt[2]+"");
jLabels3.setText(cnt[3]+"");
jLabels4.setText(cnt[4]+"");
jLabelp0.setText(String.format("%.2f",percent[0]));
jLabelp1.setText(String.format("%.2f",percent[1]));
jLabelp2.setText(String.format("%.2f",percent[2]));
jLabelp3.setText(String.format("%.2f",percent[3]));
jLabelp4.setText(String.format("%.2f",percent[4]));
jLabelfile.setText(file.getAbsolutePath()+",共"+ tot + "人");
DefaultTableModel dtm=(DefaultTableModel) jTable1.getModel();
TableRowSorter sorter =
new TableRowSorter(dtm);this.jTable1.setRowSorter(sorter);while( dtm.getRowCount() != 0 ) { //清空jtable
dtm.removeRow(0);
}for( int i = 0 ; i < studentList.size() ; ++i ) { //studentList写入jTable
Student tmp =(Student)studentList.get(i);
Vector v= newVector();
v.add(tmp.get_id());v.add(tmp.get_name());v.add(tmp.get_score());
dtm.addRow(v);
}
}
}private voidjmClearActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel dtm=(DefaultTableModel) jTable1.getModel();while( dtm.getRowCount() != 0 ) { //清空jtable
dtm.removeRow(0);
}
jLabelM.setText(null);
jLabelm.setText(null);
jLabela.setText(null);
jLabels0.setText(null);
jLabels1.setText(null);
jLabels2.setText(null);
jLabels3.setText(null);
jLabels4.setText(null);
jLabelp0.setText(null);
jLabelp1.setText(null);
jLabelp2.setText(null);
jLabelp3.setText(null);
jLabelp4.setText(null);
jLabelfile.setText(null);
}private voidjtfSearchActionPerformed(java.awt.event.ActionEvent evt) {
String text=jtfSearch.getText();
TableRowSorter sorter =
new TableRowSorter(jTable1.getModel());this.jTable1.setRowSorter(sorter);if( text.trim().length() == 0)
sorter.setRowFilter(null);elsesorter.setRowFilter(RowFilter.regexFilter(text));
}private voidjmOpean0ActionPerformed(java.awt.event.ActionEvent evt) {
studentList.clear();//清空线性表
JFileChooser filechooser = newJFileChooser();if( filechooser.showOpenDialog(null) ==JFileChooser.APPROVE_OPTION ){
File file=filechooser.getSelectedFile();
Scanner input= null;try{
input= new Scanner(file,"UTF-8");
}catch(FileNotFoundException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}while( input.hasNext() ) {
String id= "" ;String name = "" ;int score=0;
String s=input.nextLine();if( s.length() == 0 ) continue;
StringBuilder sb= newStringBuilder();
sb.append(s);int cnt = 0;for( int i = 0 ; i < sb.length(); ++i ){char op =sb.charAt(i);if( op == ',' ) { cnt++; continue; }if( cnt == 0 ) id +=op;else if( cnt == 1 ) name +=op;else{
score= score * 10 + (op-'0');
}
}
studentList.add(newStudent(id,name,score) );
}
updateDate();//更新最高最低分,百分比
jLabelM.setText(maxScore+"");
jLabelm.setText(minScore+"");
jLabela.setText(averageScore+"");
jLabels0.setText(cnt[0]+"");
jLabels1.setText(cnt[1]+"");
jLabels2.setText(cnt[2]+"");
jLabels3.setText(cnt[3]+"");
jLabels4.setText(cnt[4]+"");
jLabelp0.setText(String.format("%.2f",percent[0]));
jLabelp1.setText(String.format("%.2f",percent[1]));
jLabelp2.setText(String.format("%.2f",percent[2]));
jLabelp3.setText(String.format("%.2f",percent[3]));
jLabelp4.setText(String.format("%.2f",percent[4]));
jLabelfile.setText(file.getAbsolutePath()+",共"+ tot + "人");//jTextField12 = new JTextField(""+maxcost);
input.close();
DefaultTableModel dtm=(DefaultTableModel) jTable1.getModel();
TableRowSorter sorter =
new TableRowSorter(dtm);this.jTable1.setRowSorter(sorter);while( dtm.getRowCount() != 0 ) { //清空jtable
dtm.removeRow(0);
}for( int i = 0 ; i < studentList.size() ; ++i ) { //studentList写入jTable
Student tmp =(Student)studentList.get(i);
Vector v= newVector();
v.add(tmp.get_id()); v.add(tmp.get_name()); v.add(tmp.get_score());
dtm.addRow(v);
}
}
}private voidjTextField11ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
}private voidjTextField10ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
}private voidjTextField9ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
}private voidjTextField8ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
}private voidjTextField7ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
}private voidjButton1ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
NewJFrame3 frame = newNewJFrame3(cnt);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
}private voidjmSave0ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser filechooser= newJFileChooser();if( filechooser.showOpenDialog(null) ==JFileChooser.APPROVE_OPTION ){
File file=filechooser.getSelectedFile();try{
PrintWriter output= newPrintWriter(file);for( int i = 0 ; i < studentList.size() ; ++i ) {
Student tmp=(Student)studentList.get(i);
output.println(tmp.get_id()+","+tmp.get_name()+","+tmp.get_score()+"\n");
}
output.close();
}catch(FileNotFoundException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}private voidjbSearchActionPerformed(java.awt.event.ActionEvent evt) {
String text=jtfSearch.getText();
TableRowSorter sorter =
new TableRowSorter(jTable1.getModel());this.jTable1.setRowSorter(sorter);if( text.trim().length() == 0)
sorter.setRowFilter(null);elsesorter.setRowFilter(RowFilter.regexFilter(text));
}private voidjmSave1ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
JFileChooser filechooser = newJFileChooser();if( filechooser.showOpenDialog(null) ==JFileChooser.APPROVE_OPTION ){
File file=filechooser.getSelectedFile();try{
DataOutputStream output= newDataOutputStream
(newFileOutputStream(file));for( int i = 0 ; i < studentList.size() ; ++i ) {
Student tmp=(Student)studentList.get(i);
output.writeUTF(tmp.get_String());
}
output.close();
}catch(FileNotFoundException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}catch(IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}private voidjButton2ActionPerformed(java.awt.event.ActionEvent evt) {//TODO add your handling code here:
NewJFrame5 frame = newNewJFrame5(percent);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
}/***@paramargs the command line arguments*/
public static voidmain(String args[]) {/*Set the Nimbus look and feel*/
//
/*If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details seehttp://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try{for(javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());break;
}
}
}catch(ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}catch(InstantiationException ex) {
java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}catch(IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}catch(javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
/*Create and display the form*/java.awt.EventQueue.invokeLater(newRunnable() {public voidrun() {new Test().setVisible(true);
}
});
}//Variables declaration - do not modify
privatejavax.swing.JButton jButton1;privatejavax.swing.JButton jButton2;privatejavax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;privatejavax.swing.JCheckBoxMenuItem jCheckBoxMenuItem2;privatejavax.swing.JLabel jLabel11;privatejavax.swing.JLabel jLabel12;privatejavax.swing.JLabel jLabel13;privatejavax.swing.JLabel jLabel14;privatejavax.swing.JLabel jLabel15;privatejavax.swing.JLabel jLabel16;privatejavax.swing.JLabel jLabel17;privatejavax.swing.JLabel jLabel18;privatejavax.swing.JLabel jLabel19;privatejavax.swing.JLabel jLabel20;privatejavax.swing.JLabel jLabel21;privatejavax.swing.JLabel jLabel22;privatejavax.swing.JLabel jLabel23;privatejavax.swing.JLabel jLabel25;privatejavax.swing.JLabel jLabel26;privatejavax.swing.JLabel jLabelM;privatejavax.swing.JLabel jLabela;privatejavax.swing.JLabel jLabelfile;privatejavax.swing.JLabel jLabelm;privatejavax.swing.JLabel jLabelp0;privatejavax.swing.JLabel jLabelp1;privatejavax.swing.JLabel jLabelp2;privatejavax.swing.JLabel jLabelp3;privatejavax.swing.JLabel jLabelp4;privatejavax.swing.JLabel jLabels0;privatejavax.swing.JLabel jLabels1;privatejavax.swing.JLabel jLabels2;privatejavax.swing.JLabel jLabels3;privatejavax.swing.JLabel jLabels4;privatejavax.swing.JLayeredPane jLayeredPane1;privatejavax.swing.JMenu jMenu1;privatejavax.swing.JMenu jMenu10;privatejavax.swing.JMenu jMenu11;privatejavax.swing.JMenu jMenu12;privatejavax.swing.JMenu jMenu13;privatejavax.swing.JMenu jMenu14;privatejavax.swing.JMenu jMenu2;privatejavax.swing.JMenu jMenu3;privatejavax.swing.JMenu jMenu4;privatejavax.swing.JMenu jMenu5;privatejavax.swing.JMenu jMenu6;privatejavax.swing.JMenu jMenu7;privatejavax.swing.JMenu jMenu8;privatejavax.swing.JMenu jMenu9;privatejavax.swing.JMenuBar jMenuBar1;privatejavax.swing.JMenuBar jMenuBar2;privatejavax.swing.JMenuBar jMenuBar3;privatejavax.swing.JMenuBar jMenuBar4;privatejavax.swing.JMenuBar jMenuBar5;privatejavax.swing.JMenuBar jMenuBar6;privatejavax.swing.JMenuBar jMenuBar7;privatejavax.swing.JPanel jPanel1;privatejavax.swing.JPanel jPanel2;privatejavax.swing.JPanel jPanel3;privatejavax.swing.JPanel jPanel5;privatejavax.swing.JScrollPane jScrollPane2;privatejavax.swing.JPopupMenu.Separator jSeparator1;privatejavax.swing.JPopupMenu.Separator jSeparator2;privatejavax.swing.JSeparator jSeparator3;privatejavax.swing.JSeparator jSeparator4;privatejavax.swing.JTable jTable1;privatejavax.swing.JTextField jTextField10;privatejavax.swing.JTextField jTextField11;privatejavax.swing.JTextField jTextField7;privatejavax.swing.JTextField jTextField8;privatejavax.swing.JTextField jTextField9;privatejavax.swing.JButton jbSearch;privatejavax.swing.JLabel jlbAnalysis;privatejavax.swing.JLabel jlbAvgS;privatejavax.swing.JLabel jlbFail;privatejavax.swing.JLabel jlbGood;privatejavax.swing.JLabel jlbMaxS;privatejavax.swing.JLabel jlbMiddle;privatejavax.swing.JLabel jlbMinS;privatejavax.swing.JLabel jlbPass;privatejavax.swing.JLabel jlbScore;privatejavax.swing.JLabel jlbSearch;privatejavax.swing.JLabel jlbWell;privatejavax.swing.JMenuItem jmClear;privatejavax.swing.JMenuItem jmOpean0;privatejavax.swing.JMenuItem jmOpean1;privatejavax.swing.JMenuItem jmSave0;privatejavax.swing.JMenuItem jmSave1;privatejavax.swing.JTextField jtfSearch;//End of variables declaration
}