📄 addsrocepanel.java
字号:
package Panel.StudentSroce;
import java.util.*;
import javax.swing.table.*;
import javax.swing.*;
import Sys.dao.*;
import Sys.vo.*;
import Tools.Teacher;
public class AddSrocePanel extends javax.swing.JPanel {
private static final long serialVersionUID = 1L;
public AddSrocePanel() {
initComponents();
}
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
jTable1=new JTable();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox();
jLabel3 = new javax.swing.JLabel();
jComboBox2 = new javax.swing.JComboBox();
jScrollPane1 = new javax.swing.JScrollPane();
jButton1 = new javax.swing.JButton();
setLayout(new java.awt.GridBagLayout());
jLabel1.setFont(new java.awt.Font("宋体", 1, 24));
jLabel1.setText("添加/修改学生成绩");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jLabel1, gridBagConstraints);
jLabel2.setText("\u73ed\u7ea7\u9009\u62e9");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jLabel2, gridBagConstraints);
jComboBox1.setPreferredSize(new java.awt.Dimension(130, 23));
jComboBox1.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
jComboBox1ItemStateChanged(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jComboBox1, gridBagConstraints);
jLabel3.setText("\u8bfe\u7a0b\u9009\u62e9");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jLabel3, gridBagConstraints);
jComboBox2.setPreferredSize(new java.awt.Dimension(130, 23));
jComboBox2.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
jComboBox2ItemStateChanged(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jComboBox2, gridBagConstraints);
jTable1.setRowHeight(jTable1.getRowHeight()+6);
jScrollPane1.setViewportView(jTable1);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jScrollPane1, gridBagConstraints);
jButton1.setText("\u63d0\u4ea4");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.weightx = 5.0;
gridBagConstraints.weighty = 0.1;
add(jButton1, gridBagConstraints);
loadClass(Panel.UserManage.LoginPanel.manager);
}
private void loadCourse(String classid){
jComboBox2.removeAllItems();
CourseClassDao courseclassdao=new CourseClassDao();
List<Course> courselist=courseclassdao.getCourseForClass(classid);
Iterator<Course> iter=courselist.iterator();
while(iter.hasNext()){
jComboBox2.addItem(iter.next().getCourseName());
}
//jComboBox2.setSelectedIndex(0);
}
private void loadClass(Teacher teacher){
if(!teacher.getTeacherName().equals("Admin")){
jComboBox1.addItem(teacher.getClassID());
}else{
java.util.List<ClassInfo> list=null;
ClassDao classdao=new ClassDao();
list=classdao.getAllClass();
Iterator<ClassInfo> iter=list.iterator();
while(iter.hasNext())
jComboBox1.addItem(iter.next().getClassID());
}
jComboBox1.setSelectedIndex(0);
//晕了,System.out.println(jComboBox1.getSelectedItem().toString());
//这条语句是错的,我以为可以返回他的文本内容,原来返回的是对象,基础不扎实啊
}
private void loadCourseSroce(String classid ,String coursename){
columnNames[4]=coursename;
jTable1.setModel(tablemodel=new DefaultTableModel(columnNames,0){
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int row, int col) {
if(col==0||col==1||col==2||col==3||col==5)
return false;
return true;
}
});
jTable1.getTableHeader().setReorderingAllowed(false);
StudentSroceDao studentsrocedao=new StudentSroceDao();
List<StudentSroce> studentsrocelist=studentsrocedao.getStudentSroceList(classid, coursename);
int i=0;
Iterator<StudentSroce> iter = studentsrocelist.iterator();
while (iter.hasNext()) {
StudentSroce studentsroce=iter.next();//这里因为要获得同一个StudentInfo对象的多个值,就这样来
i++;
String []content={String.valueOf(i),studentsroce.getStudentID(),studentsroce.getStudentName()
,studentsroce.getSex(),Double.toString(studentsroce.getSroce()),studentsroce.getModifyTime()};
tablemodel.addRow(content);
}
}
private void jComboBox2ItemStateChanged(java.awt.event.ItemEvent evt) {
loadCourseSroce((String)jComboBox1.getSelectedItem(),(String)jComboBox2.getSelectedItem());
}
private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
loadCourse((String)jComboBox1.getSelectedItem());
//要先移除JComboBox的东西,再添加
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
StudentSroceDao studentsrocedao=new StudentSroceDao();
//你這種寫法可以說就是正確的。真要說正確(或說設計者的意圖)的作法是儘可能不要使用
//array with parameterized type as component type,而改用 collection。
//(用 java.util.List<Vector<MyClass>>
Vector v=tablemodel.getDataVector();
ArrayList list=new ArrayList<StudentSroce>();
for(Enumeration enu=v.elements();enu.hasMoreElements();){
Vector v2 = (Vector) enu.nextElement();
StudentSroce studentsroce=new StudentSroce();
studentsroce.setStudentID((String)v2.elementAt(1));
studentsroce.setStudentName((String)v2.elementAt(2));
studentsroce.setSex((String)v2.elementAt(3));
studentsroce.setCourseName(columnNames[4]);
try{
studentsroce.setSroce(Double.valueOf((String)v2.elementAt(4)));
}catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"请正确输入成绩");
}
//studentsroce.setModifyTime((String)v2.elementAt(5));
list.add(studentsroce);
}
studentsrocedao.addSroceList(list);
}
private DefaultTableModel tablemodel;
private String []columnNames={"序列","学号","姓名","性别","","修改时间"};
private JTable jTable1;
private javax.swing.JButton jButton1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -