TeaScoreFrame

package com.gs.stu.view;


import com.gs.stu.bean.Course;
import com.gs.stu.bean.SelectCourse;
import com.gs.stu.bean.SelectCourseView;
import com.gs.stu.file.PrintScoreExcelTable;
import com.gs.stu.service.TeacherService;
import com.gs.stu.service.impl.TeacherServiceImpl;
import com.gs.stu.util.FrameUtil;
import com.gs.stu.util.checkUtil;
import java.io.File;
import java.util.List;
import java.util.Vector;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.table.DefaultTableModel;


/**
 *
 * @author yhy
 */
public class TeaScoreFrame extends javax.swing.JInternalFrame {
  TeacherService teaservice = new TeacherServiceImpl();
    /** Creates new form TeaScoreFrame */
    public TeaScoreFrame() {
        initComponents();
         //初始化课程编号组合框
         List<Course> list = teaservice.findCourseByTeacher(SelectiveMainFrame.teacher.getTid());
         for(Course course:list){
             this.cbCid.addItem(course.getId());
         }
    }


    /** 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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {


        jLabel1 = new javax.swing.JLabel();
        cbCid = new javax.swing.JComboBox();
        btnSearch = new javax.swing.JButton();
        btnOutSorce = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        scoreTable = new javax.swing.JTable();
        jLabel2 = new javax.swing.JLabel();
        txtId = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        txtSorce = new javax.swing.JTextField();
        btnSave = new javax.swing.JButton();


        setClosable(true);
        setTitle("教师-成绩管理");
        addInternalFrameListener(new javax.swing.event.InternalFrameListener() {
            public void internalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
                formInternalFrameClosed(evt);
            }
            public void internalFrameClosing(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameIconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameOpened(javax.swing.event.InternalFrameEvent evt) {
            }
        });


        jLabel1.setText("课程编号:");


        btnSearch.setText("搜索");
        btnSearch.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSearchActionPerformed(evt);
            }
        });


        btnOutSorce.setText("导出成绩");
        btnOutSorce.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnOutSorceActionPerformed(evt);
            }
        });


        scoreTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {


            },
            new String [] {
                "学号", "姓名", "课程名", "成绩"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, true
            };


            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        scoreTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                scoreTableMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(scoreTable);


        jLabel2.setText("学号:");


        txtId.setEditable(false);


        jLabel3.setText("成绩:");


        btnSave.setText("保存");
        btnSave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSaveActionPerformed(evt);
            }
        });


        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 475, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel1)
                                .addGap(18, 18, 18)
                                .addComponent(cbCid, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(btnSearch)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 180, Short.MAX_VALUE)
                                .addComponent(btnOutSorce))))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jLabel3)
                        .addGap(29, 29, 29)
                        .addComponent(txtSorce, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(29, 29, 29)
                        .addComponent(btnSave)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(cbCid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnOutSorce)
                    .addComponent(btnSearch))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 366, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3)
                    .addComponent(txtSorce, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnSave))
                .addContainerGap(26, Short.MAX_VALUE))
        );


        pack();
    }// </editor-fold>                        


private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {                                          
    int cid = (Integer)this.cbCid.getSelectedItem();
    List<SelectCourseView> list = teaservice.findCourseScoreByCid(cid);
    showOnTable(list);
}                                         


private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        
// TODO add your handling code here:
    String id=this.txtId.getText().trim();
    String sorce=this.txtSorce.getText().trim();
    String biao="^[0-9]{8}$";
    String biao1="^[0-9]{1,3}$";
    if(id.equals("")==true)
    {
        JOptionPane.showMessageDialog(this, "学号不能为空");
        this.txtId.requestFocus();
        return;
    }
    if(sorce.equals("")==true)
    {
        JOptionPane.showMessageDialog(this, "成绩不能为空");
        this.txtSorce.requestFocus();
        return;
    }
    boolean b1=checkUtil.checkData(biao,this.txtId.getText());
    if(b1==false)
    {
        JOptionPane.showMessageDialog(this, "学号必须8位纯数字");
        return;
    }
    boolean b2=checkUtil.checkData(biao1,this.txtSorce.getText());
    if(b2==false)
    {
        JOptionPane.showMessageDialog(this, "分数必须为1到3位纯数字");
        return;
    }
    SelectCourse sc=new SelectCourse();
    sc.setSid(Integer.parseInt(id));
    int cid = (Integer)this.cbCid.getSelectedItem();
    sc.setCid(cid);
    sc.setScore(Integer.parseInt(this.txtSorce.getText()));
    boolean b=teaservice.updateScore(sc);
    if(b==true)
    {
         JOptionPane.showMessageDialog(this, "分数录入成功");
         btnSearchActionPerformed(evt);
         return;
    }
    else
    {
        JOptionPane.showMessageDialog(this, "分数录入失败");
         return;
    }
}                                       


private void scoreTableMouseClicked(java.awt.event.MouseEvent evt) {                                        
int row =this.scoreTable.getSelectedRow();
int id=(Integer)this.scoreTable.getValueAt(row,0);
this.txtId.setText(id+"");
}                                       


private void formInternalFrameClosed(javax.swing.event.InternalFrameEvent evt) {                                         


    FrameUtil.framemap.remove("teascoreframe");
}                                        


private void btnOutSorceActionPerformed(java.awt.event.ActionEvent evt) {                                            
    JFileChooser savefile = new JFileChooser();//文件选择对话框
    FileFilter filter = new FileNameExtensionFilter("Excel文件(*.xls)", "*.xls");
    savefile.addChoosableFileFilter(filter);//添加过滤器
    savefile.setFileFilter(filter);    
    
    int flag = savefile.showSaveDialog(this);//打开文件选选择对话框
    File file = null;
    if (flag == JFileChooser.APPROVE_OPTION) {
        //如果点击了保存按钮
        file = savefile.getSelectedFile();
        System.out.println("文件名:" + file.getAbsolutePath());
        //JTable获取数据,输出到文件
        PrintScoreExcelTable.printScoreContent(scoreTable, file);
        JOptionPane.showMessageDialog(this, "导出成功");
    }
}                                           
private void showOnTable( List<SelectCourseView> list){
    DefaultTableModel dtm = (DefaultTableModel) this.scoreTable.getModel();
        while (dtm.getRowCount() > 0) {
            dtm.removeRow(0);
        }
        for(SelectCourseView  selectcourse:list){
            Vector row = new Vector();
            row.add(selectcourse.getSid());
            row.add(selectcourse.getSname());
            row.add(selectcourse.getCoursename());
            row.add(selectcourse.getScore());
            dtm.addRow(row);
        }
}
    // Variables declaration - do not modify                     
    private javax.swing.JButton btnOutSorce;
    private javax.swing.JButton btnSave;
    private javax.swing.JButton btnSearch;
    private javax.swing.JComboBox cbCid;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable scoreTable;
    private javax.swing.JTextField txtId;
    private javax.swing.JTextField txtSorce;
    // End of variables declaration                   
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值