⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 querystudentpanl.java

📁 Java写的一个学员系统
💻 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 + -