?? querystudentpanl.java
字號:
package cn.st.ui;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import cn.st.data.KeMuChengJi;
import cn.st.data.StudentInfo;
import cn.st.util.DateUtil;
import cn.st.util.OtherUtil;
public class QueryStudentPanl extends JPanel implements ActionListener, ListSelectionListener{
private static final long serialVersionUID = 1L;
private JButton jBQueryAllStu = null;
private JButton jBQuerySpeStu = null;
private JLabel jLNum = null;
private JTextField jTNum = null;
private JScrollPane jSPStu = null;
private JTable jTableStu = null;
private JScrollPane jSPCJ = null;
private JTable jTableCJ = null;
private final String QUERY_ALL_STUDENT = "queryAllStudent";
private final String QUERY_SPECIFY_STEDENT = "querySpecifyStudent";
private final String QUERY_SPECIFY_STEDENT_ENTER = "querySpecifyStudentEnter";
private StudentInfo stuInfo = null;
/**
* This method initializes jBQueryAllStu
*
* @return javax.swing.JButton
*/
private JButton getJBQueryAllStu() {
if (jBQueryAllStu == null) {
jBQueryAllStu = new JButton();
jBQueryAllStu.setText("查詢所有學生");
jBQueryAllStu.setActionCommand(QUERY_ALL_STUDENT);
jBQueryAllStu.addActionListener(this);
}
return jBQueryAllStu;
}
/**
* This method initializes jBQuerySpeStu
*
* @return javax.swing.JButton
*/
private JButton getJBQuerySpeStu() {
if (jBQuerySpeStu == null) {
jBQuerySpeStu = new JButton();
jBQuerySpeStu.setText("查詢指定學號學生");
jBQuerySpeStu.setActionCommand(QUERY_SPECIFY_STEDENT);
jBQuerySpeStu.addActionListener(this);
}
return jBQuerySpeStu;
}
/**
* This method initializes jTNum
*
* @return javax.swing.JTextField
*/
private JTextField getJTNum() {
if (jTNum == null) {
jTNum = new JTextField();
jTNum.setVisible(true);
}
return jTNum;
}
/**
* This method initializes jSPStu
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJSPStu() {
if (jSPStu == null) {
jSPStu = new JScrollPane();
jSPStu.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jSPStu.setViewportView(getJTableStu());
}
return jSPStu;
}
/**
* This method initializes jTableStu
*
* @return javax.swing.JTable
*/
private JTable getJTableStu() {
if (jTableStu == null) {
jTableStu = new JTable();
jTableStu.setSelectionBackground(Color.yellow);
jTableStu.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTableStu.getSelectionModel().addListSelectionListener(this);
}
return jTableStu;
}
/**
* This method initializes jSPCJ
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJSPCJ() {
if (jSPCJ == null) {
jSPCJ = new JScrollPane();
jSPCJ.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jSPCJ.setViewportView(getJTableCJ());
}
return jSPCJ;
}
/**
* This method initializes jTableCJ
*
* @return javax.swing.JTable
*/
private JTable getJTableCJ() {
if (jTableCJ == null) {
jTableCJ = new JTable();
jTableCJ.setSelectionBackground(Color.yellow);
jTableCJ.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
return jTableCJ;
}
/**
* This is the default constructor
*/
public QueryStudentPanl() {
super();
initialize();
this.jLNum.setVisible(false);
this.getJTNum().setVisible(false);
// this.getJSPCJ().setVisible(false);
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
gridBagConstraints5.fill = GridBagConstraints.BOTH;
gridBagConstraints5.gridwidth = 2;
gridBagConstraints5.gridx = 0;
gridBagConstraints5.gridy = 3;
gridBagConstraints5.ipadx = -133;
gridBagConstraints5.ipady = -331;
gridBagConstraints5.weightx = 1.0;
gridBagConstraints5.weighty = 1.0;
gridBagConstraints5.insets = new Insets(2, 8, 17, 9);
GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
gridBagConstraints4.fill = GridBagConstraints.BOTH;
gridBagConstraints4.gridwidth = 2;
gridBagConstraints4.gridx = 0;
gridBagConstraints4.gridy = 2;
gridBagConstraints4.ipadx = -133;
gridBagConstraints4.ipady = -321;
gridBagConstraints4.weightx = 1.0;
gridBagConstraints4.weighty = 1.0;
gridBagConstraints4.insets = new Insets(6, 8, 1, 9);
GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
gridBagConstraints3.fill = GridBagConstraints.VERTICAL;
gridBagConstraints3.gridx = 1;
gridBagConstraints3.gridy = 1;
gridBagConstraints3.ipadx = 156;
gridBagConstraints3.ipady = -4;
gridBagConstraints3.weightx = 1.0;
gridBagConstraints3.insets = new Insets(2, 0, 5, 57);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.insets = new Insets(2, 8, 5, 32);
gridBagConstraints2.gridy = 1;
gridBagConstraints2.ipadx = 51;
gridBagConstraints2.gridx = 0;
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.insets = new Insets(5, 54, 4, 22);
gridBagConstraints1.gridy = 0;
gridBagConstraints1.ipadx = 3;
gridBagConstraints1.ipady = 4;
gridBagConstraints1.gridx = 1;
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.insets = new Insets(4, 8, 2, 0);
gridBagConstraints.gridy = 0;
gridBagConstraints.ipady = 7;
gridBagConstraints.gridx = 0;
jLNum = new JLabel();
jLNum.setText("學號:");
jLNum.setVisible(true);
this.setSize(461, 282);
this.setLayout(new GridBagLayout());
this.add(getJBQueryAllStu(), gridBagConstraints);
this.add(getJBQuerySpeStu(), gridBagConstraints1);
this.add(jLNum, gridBagConstraints2);
this.add(getJTNum(), gridBagConstraints3);
this.add(getJSPStu(), gridBagConstraints4);
this.add(getJSPCJ(), gridBagConstraints5);
}
public void actionPerformed(ActionEvent arg0) {
String command = arg0.getActionCommand();
if(command.trim().equals(QUERY_ALL_STUDENT)) {
this.getJTNum().setVisible(false);
this.jLNum.setVisible(false);
initJTableStu(null);
} else if(command.trim().equals(QUERY_SPECIFY_STEDENT)) {
this.getJBQuerySpeStu().setActionCommand(QUERY_SPECIFY_STEDENT_ENTER);
this.getJBQuerySpeStu().setText("查詢");
this.getJTNum().setVisible(true);
this.jLNum.setVisible(true);
} else if(command.trim().equals(QUERY_SPECIFY_STEDENT_ENTER)) {
this.stuInfo = null;
List<StudentInfo> list = new OtherUtil().getStudentInfos();
for(StudentInfo si : list) {
if(si.getNumber().trim().equals(this.getJTNum().getText().trim())) {
this.stuInfo = si;
break;
}
}
this.getJBQuerySpeStu().setActionCommand(QUERY_SPECIFY_STEDENT);
this.getJBQuerySpeStu().setText("查詢指定學號學生");
if(stuInfo != null) {
initJTableStu(this.stuInfo);
} else {
this.getJTableStu().setModel(new DefaultTableModel());
}
}
}
public void valueChanged(ListSelectionEvent arg0) {
// TODO Auto-generated method stub
ListSelectionModel lsm = (ListSelectionModel) arg0.getSource();
int i = lsm.getMinSelectionIndex();
if (i >= 0) {
String uuid = (String) this.getJTableStu().getModel().getValueAt(i, 14);
this.stuInfo = new OtherUtil().getStudentInfo(uuid);
initChengJiTable(this.stuInfo);
}
}
private void initJTableStu(StudentInfo stuInfo) {
String [] column = {"姓名", "學號", "性別", "民族",
"出身日期", "籍貫", "家庭地址", "父親姓名",
"父親電話", "母親姓名", "母親電話", "郵編",
"班級", "專業", "UUID"};
Object [][] object = null;
if(stuInfo == null) {
// 找到所有的學生
List<StudentInfo> list = new OtherUtil().getStudentInfos();
object = new Object[list.size()][column.length];
for(int i = 0; i < list.size(); i ++) {
StudentInfo stu = list.get(i);
initStudentModelObject(object, i, stu);
this.getJTableStu().setModel(new DefaultTableModel(object, column));
}
} else {
// 找到指定的學生
object = new Object[1][column.length];
initStudentModelObject(object, 0, this.stuInfo);
this.getJTableStu().setModel(new DefaultTableModel(object, column));
}
}
/**
* 構造學生表格需要的行數據
* @param object
* @param i
* @param stu
*/
private void initStudentModelObject(Object[][] object, int i, StudentInfo stu) {
if(stu != null) {
object[i][0] = stu.getName(); object[i][1] = stu.getNumber();
object[i][2] = stu.getSex(); object[i][3] = stu.getPhyle();
object[i][4] = DateUtil.formatYYYYMMDD(stu.getBirthday());
object[i][5] = stu.getNativePlace();
object[i][6] = stu.getAddres();
object[i][7] = stu.getFatherName(); object[i][8] = stu.getFatherPhone();
object[i][9] = stu.getMotherName(); object[i][10] = stu.getMotherPhone();
object[i][11] = stu.getZip(); object[i][12] = stu.getClassName();
object[i][13] = stu.getZhuangYe(); object[i][14] = stu.getUUID();
}
}
private void initChengJiTable(StudentInfo stu) {
String[] column = { "課程名稱", "課程號", "成績", "備注" };
List<KeMuChengJi> list = new OtherUtil().getKeMuChengJis(stu);
Object[][] object = new Object[list.size()][column.length];
for (int i = 0; i < list.size(); i++) {
KeMuChengJi keMuChengJi = list.get(i);
object[i][0] = keMuChengJi.getCi().getName();
object[i][1] = keMuChengJi.getCi().getNumber();
object[i][2] = keMuChengJi.getChengJi();
object[i][3] = keMuChengJi.getRemark();
}
this.getJTableCJ().setModel(new DefaultTableModel(object, column));
}
public static void main(String [] args) {
JFrame jf = new JFrame();
jf.add(new QueryStudentPanl());
jf.setSize(600, 300);
jf.show();
}
} // @jve:decl-index=0:visual-constraint="10,10"
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -