/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.gs.stu.view;
import com.gs.stu.bean.Course;
import com.gs.stu.bean.StudentView;
import com.gs.stu.file.PrintStudentExcelTable;
import com.gs.stu.service.TeacherService;
import com.gs.stu.service.impl.TeacherServiceImpl;
import com.gs.stu.util.FrameUtil;
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 HP-Developer
*/
public class TeaSearchSelectFrame extends javax.swing.JInternalFrame {
TeacherService teaservice = new TeacherServiceImpl();
/**
* Creates new form TeaSearchSelectFrame
*/
public TeaSearchSelectFrame() {
initComponents();
initcourse();
}
/**
* 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">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
couid = new javax.swing.JComboBox();
jButton1 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jToggleButton1 = new javax.swing.JToggleButton();
jLabel3 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
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("课程编号:");
couid.setToolTipText("");
couid.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
couidActionPerformed(evt);
}
});
jButton1.setText("搜索");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jLabel2.setForeground(new java.awt.Color(255, 0, 0));
jLabel2.setText("搜索指定课程的学生信息");
jToggleButton1.setText("数据导出");
jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jToggleButton1ActionPerformed(evt);
}
});
jLabel3.setForeground(new java.awt.Color(255, 0, 0));
jLabel3.setText("将学生信息导出Excel表");
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"学号", "姓名", "性别", "年龄", "班级", "系部"
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.String.class, java.lang.Short.class, java.lang.Integer.class, java.lang.String.class, java.lang.Integer.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(couid, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel2)
.addGap(49, 49, 49)
.addComponent(jToggleButton1)
.addGap(18, 18, 18)
.addComponent(jLabel3)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jScrollPane1)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(31, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(couid, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1)
.addComponent(jLabel2)
.addComponent(jToggleButton1)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 20, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void couidActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_couidActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_couidActionPerformed
private void formInternalFrameClosed(javax.swing.event.InternalFrameEvent evt) {//GEN-FIRST:event_formInternalFrameClosed
FrameUtil.framemap.remove("teasearchselectframe"); // TODO add your handling code here:
}//GEN-LAST:event_formInternalFrameClosed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
//查询某门课程学生信息
int cid = (Integer) this.couid.getSelectedItem();
List<StudentView> list = teaservice.findSelectCourseByCid(cid);
showOnTable(list); // TODO add your handling code here:
}//GEN-LAST:event_jButton1ActionPerformed
private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton1ActionPerformed
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获取数据,输出到文件
PrintStudentExcelTable.printStudentContent(jTable1,file);
JOptionPane.showMessageDialog(this, "导出成功");
} // TODO add your handling code here:
}//GEN-LAST:event_jToggleButton1ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JComboBox couid;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JToggleButton jToggleButton1;
// End of variables declaration//GEN-END:variables
private void initcourse() {
List<Course> list = teaservice.findCourseByTeacher(SelectiveMainFrame.teacher.getTid());
for(Course course:list){
this.couid.addItem(course.getId());
}
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
private void showOnTable(List<StudentView> list) {
DefaultTableModel dtm = (DefaultTableModel) this.jTable1.getModel();
while (dtm.getRowCount() > 0) {
dtm.removeRow(0);
}
for (StudentView stu : list) {
Vector row = new Vector();
row.add(stu.getSid());
//row.add(stu.getSpassword());
row.add(stu.getSname());
row.add(stu.getSsex());
row.add(stu.getSage());
row.add(stu.getClassname());
row.add(stu.getDepname());
dtm.addRow(row);
}
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}