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

📄 studentuniversquerydialog.java

📁 学生管理系统。使用java编程
💻 JAVA
字号:
package com.hb.stumanagesys.universquery;
import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.BoxLayout;

import javax.swing.ButtonGroup;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

import com.hb.jdbcconnct.JdbcConnct;
//import com.jgoodies.forms.layout.FormLayout;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class StudentUniversQueryDialog extends javax.swing.JDialog {

	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getCrossPlatformLookAndFeelClassName());
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	private JPanel studentUniversPanel1;//定义学生综合管理面板
	private JLabel sUMLabel1;
	private ButtonGroup sUMbuttonGroup1;
	private JButton sUMButton1;//定义 查询 button
	private JButton quitButton;//定义退出button
	private JCheckBox misCheckBox;//定义模糊查询的combox
	private JComboBox conditionComboBox;//定义查询条件的下拉框
	private JTable sUMTable1;//显示数据的表格
	private JScrollPane sUMScrollPane1;
	private JTextField sUMTextField1;//查询条件输入的文本框
	DefaultTableModel sUMTable1Model; //表的model
	private JTabbedPane stuUniversQueryTabbedPane;
	private JPanel stuQureyPanel;
	/**
	* 程序的入口方法
	*/
	public static void main(String[] args) {
		//新建一个JFrame 用来构造对话框
		JFrame frame = new JFrame();
		StudentUniversQueryDialog inst = new StudentUniversQueryDialog(frame);
		inst.setVisible(true);//设置文本框可见
	}
	
	public StudentUniversQueryDialog(JFrame frame) {
		super(frame);
		initGUI();
	}
	
	private void initGUI() {
		try {
			{
				this.setTitle("\u5b66\u751f\u7efc\u5408\u67e5\u8be2");
				{
					{
						sUMbuttonGroup1 = new ButtonGroup();
					}
					studentUniversPanel1 = new JPanel();
					getContentPane().add(studentUniversPanel1, BorderLayout.CENTER);
					//studentUniversPanel1.setLayout(studentUniversPanelLayout);	
					studentUniversPanel1.setBackground(new java.awt.Color(
						185,
						185,
						255));
					studentUniversPanel1.setLayout(null);
					{
						stuUniversQueryTabbedPane = new JTabbedPane();
						studentUniversPanel1.add(stuUniversQueryTabbedPane);
						stuUniversQueryTabbedPane.setBounds(21, 0, 546, 427);
						{
							stuQureyPanel = new JPanel();
							stuUniversQueryTabbedPane.addTab("学生查询", null, stuQureyPanel, null);
							stuQureyPanel.setPreferredSize(new java.awt.Dimension(541, 401));
							stuQureyPanel.setLayout(null);
							{
								sUMLabel1 = new JLabel();
								stuQureyPanel.add(sUMLabel1);
								sUMLabel1.setText("\u6309\uff1a");
								sUMLabel1.setBounds(21, 28, 35, 28);
							}
							{
								sUMScrollPane1 = new JScrollPane();
								stuQureyPanel.add(sUMScrollPane1);
								sUMScrollPane1.setBounds(21, 77, 497, 273);
								{
									sUMTable1Model = new DefaultTableModel(
										new String[][] {},
										new String[] { "学号", "姓名", "性别", "年龄",
												"出生日期", "政治面貌", "联系方式", "籍贯",
												"入学时间", "状态", "班级名称", "专业名称",
												"教师名称" }) {
										public boolean isCellEditable(
											int row,
											int column) {
											return false;
										}
									};
									sUMTable1 = new JTable();

									sUMScrollPane1.setViewportView(sUMTable1);
									BoxLayout sUMTable1Layout = new BoxLayout(
										sUMTable1,
										javax.swing.BoxLayout.Y_AXIS);
									sUMTable1.setLayout(sUMTable1Layout);
									sUMTable1.setModel(sUMTable1Model);
									sUMTable1.getTableHeader()
										.setPreferredSize(
											new java.awt.Dimension(505, 14));
									BorderLayout tableHeaderLayout = new BorderLayout();
									sUMTable1.getTableHeader().setLayout(
										tableHeaderLayout);
									sUMTable1.setBounds(32, 78, 501, 195);
									sUMTable1.setDoubleBuffered(true);
									//sUMTable1.setCellSelectionEnabled(true);
								}
							}
							{
								ComboBoxModel conditionComboBoxModel = new DefaultComboBoxModel(
									new String[] { "全部", "学号", "姓名", "年龄" });
								conditionComboBox = new JComboBox();
								stuQureyPanel.add(conditionComboBox);
								conditionComboBox
									.setModel(conditionComboBoxModel);
								conditionComboBox.setBounds(77, 28, 98, 28);
								conditionComboBox
									.addActionListener(new ActionListener() {
										public void actionPerformed(
											ActionEvent evt) {
											conditionComboBoxActionPerformed(evt);
										}
									});
							}
							{
								sUMTextField1 = new JTextField();
								stuQureyPanel.add(sUMTextField1);
								sUMTextField1.setBounds(196, 28, 98, 28);
								sUMTextField1.setEditable(false);
							}
							{
								misCheckBox = new JCheckBox();
								stuQureyPanel.add(misCheckBox);
								misCheckBox.setText("\u6a21\u7cca\u67e5\u8be2");
								misCheckBox.setBounds(315, 35, 70, 21);
								misCheckBox.setEnabled(false);
							}
							{
								sUMButton1 = new JButton();
								stuQureyPanel.add(sUMButton1);
								sUMButton1.setText("\u67e5\u8be2");
								sUMButton1.setBounds(406, 35, 70, 21);
								sUMButton1
									.addActionListener(new ActionListener() {
										public void actionPerformed(
											ActionEvent evt) {
											sUMButton1ActionPerformed(evt);
										}
									});
							}
							{
								quitButton = new JButton();
								stuQureyPanel.add(quitButton);
								quitButton.setText("\u9000\u51fa");
								quitButton.setBounds(441, 364, 70, 21);
								quitButton
									.addActionListener(new ActionListener() {
										public void actionPerformed(
											ActionEvent evt) {
											quitButtonActionPerformed(evt);
										}
									});
							}
						}
					}
				}
			}
			this.setSize(600,475);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/*
	 * 综合查询
	 */
	public void initialStudentTable(String sql1)
	{
		//实例化一个 vector
    	Vector vecData = new Vector();
    	int row = 0;
		try
		{
			//创建并获得一个连接
		    Connection  conn = JdbcConnct.fetchConnection();
			//创建statement对象
			Statement stmt = conn.createStatement();
			//查询的sql语句
	    	String sql = "select studentid,stuname,gender,age,birthday," +
			"polistatus,contactway,native,entertime,status,classname,majorname,teachername from stu_view"+sql1;
			//获取结果集
	    	ResultSet rs = stmt.executeQuery(sql);
			//对结果集处理。
			while(rs.next()){
				String polis = rs.getString("polistatus");
				//将选择的政治面貌从数据库的数字对应出文字显示
				if (polis == null) {
					polis = "无";
				} else if (polis.equals("1")) {
					polis = "共青团员";
				} else if (polis.equals("2")) {
					polis = "党员";
				} else if (polis.equals("3")) {
					polis = "群众";
				} else {
					polis = "其他党派";
				}
				//将选择的学生状态从数据库的数字对应出文字显示
				String status = rs.getString("status");
				// System.out.println(polis);
				if (status == null) {
					status = "无";
				} else if (status.equals("1")) {
					status = "在读";
				} else if (status.equals("2")) {
					status = "退学";
				} else if (status.equals("3")) {
					status = "休学";
				} else if (status.equals("4")) {
					status = "毕业";
				} else {
					status = "其它";
				}
				//将选择的性别从数据库中的字母对应出文字显示
				String gender = rs.getString("gender");
				System.out.println(gender);
				//得到性别
				if(null==gender)
					gender = "null";
				if(gender.equals("M"))
					gender = "男";
				else if(gender.equals("W"))
					gender = "女";
				//将信息加入向量中
				vecData.addElement((String)rs.getString("studentid"));
				vecData.addElement((String)rs.getString("stuname"));
				vecData.addElement(gender);
				vecData.addElement((String)rs.getString("age"));
				vecData.addElement((String)rs.getString("birthday"));
				vecData.addElement(polis);
				vecData.addElement((String)rs.getString("contactway"));
				vecData.addElement((String)rs.getString("native"));
				vecData.addElement((String)rs.getString("entertime"));
				vecData.addElement(status);
				vecData.addElement((String)rs.getString("classname"));
				vecData.addElement((String)rs.getString("majorname"));
				vecData.addElement((String)rs.getString("teachername"));
				
			}
			//获取数据的行数
			  row = vecData.size()/13;
			  //判断是否存在
			 if(row!=0){
			 String [] title=new String[]{ "学号", "姓名", "性别", "年龄", "出生日期",
						"政治面貌", "联系方式", "籍贯", "入学时间", "状态" , "班级名称" , "专业名称" , "教师名称" };
			 String[][] aa = new String [row][13] ;
			//把数据存放到数组中
			 for(int i=0;i<row;i++)
			 {
				for(int k=0;k<13;k++)
				{
					aa[i][k] = (String)vecData.elementAt(i*13+k);
				}
			 }
			 //定义dataModel把数据存放到表格中,并设置表格不可编辑
			 DefaultTableModel dataModel = new DefaultTableModel(aa,title){
				 //设置table不可编辑
					public boolean  isCellEditable(int row,int column){
						return false;
					}
				};
			 sUMTable1.setModel(dataModel);
			 sUMTable1.setRowHeight(20);
			    //System.out.println(dataModel);
				// System.out.println( commentTable.getModel());
				}
			 else //如果没有数据,提示数据不存在。
			 {
				 sUMTable1.setModel(sUMTable1Model);
				 sUMTable1.setRowHeight(20);
				    JOptionPane.showMessageDialog(this, "对不起,您查找的数据不存在!!");
			 }
	} catch (SQLException e) {
		JOptionPane.showMessageDialog(this, "查询出错");
		//e.printStackTrace();
	}
	}
	/*
	 * 查询模块 
	 */
	private void sUMButton1ActionPerformed(ActionEvent evt) {
		//判断是否模糊查询
		boolean flag = this.misCheckBox.isSelected();
		//获取选择的查询条件
		String choice = (String) this.conditionComboBox.getSelectedItem();
		//获取输入的查询条件
		String input = this.sUMTextField1.getText().trim();
		if(flag == false)
		{ 
			//判断选择是否为全部
			if(choice.equals("全部"))
			{
				//查询全部的sql语句
				String sql = " order by studentid asc";
				//查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
             //判断选择是否为学号
			else if(choice.equals("学号"))
			{
				//按全部查询的sql语句
				String sql = " where studentid ="+input;
				//查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
			//判断选择是否为姓名
			else if(choice.equals("姓名"))
			{
				//按姓名查询的sql语句
				String sql = " where stuname '"+input+"'";
				////查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
			//判断选择是否为年龄
			else if(choice.equals("年龄"))
			{
				//按照年龄查询全部的sql语句
				String sql = " where age ="+input;
				////查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
		}
		else //如果是模糊查询
		{
			if(choice.equals("学号"))
			{
				//按照学号模糊查询的sql语句
				String sql = " where studentid like '%"+input+"%'";
				////查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
			else if(choice.equals("姓名"))
			{
				//按照姓名模糊查询的sql语句
				String sql = " where stuname like '%"+input+"%'";
				////查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
			else if(choice.equals("年龄"))
			{
				//按照年龄模糊查询的sql语句
				String sql = " where age like'%"+input+"%'";
				////查询数据,并不查询的数据在表格中显示
				initialStudentTable(sql);
			}
		}
		
	}
	
	private void conditionComboBoxActionPerformed(ActionEvent evt) {
		//定义choice从conditionComboBox接收数据
		String choice = (String) this.conditionComboBox.getSelectedItem();
		//当选择全部时 sUMTextField1 不可用
		if(choice.endsWith("全部"))
		{
			this.misCheckBox.setSelected(false);
			this.sUMTextField1.setEnabled(false);
			this.misCheckBox.setEnabled(false);
		}
		//当choice为其它时 可以填入相应的信息
		else 
		{
		
			this.sUMTextField1.setEnabled(true);
			this.sUMTextField1.setEditable(true);
			this.misCheckBox.setEnabled(true);
		}
	}
	/*
	 * 退出按钮
	 */
	private void quitButtonActionPerformed(ActionEvent evt)
	{
		this.dispose();//退出
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -