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

📄 searchframe.java

📁 简单的学生管理系统C/S结构的
💻 JAVA
字号:
package stuinfosystem;

import java.awt.Dimension;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
import java.net.Socket;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JComboBox;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.OutputStream;
import java.io.InputStream;
import java.util.Vector;
import java.util.Enumeration;

public class SearchFrame extends JFrame
{
	private JTable table = null;
	private JFrame frame = null;
	//查询的类型
	private Vector select = new Vector();
	//查询的关键字文本框
	private JTextField  key = new JTextField(10);
	//查询选项
	private JComboBox jcb = null;
	
	public SearchFrame(JTable table,JFrame frame)
	{
		super("查询学生信息");
		this.table = table;
		this.frame = frame;
		
		Container c = getContentPane();
		c.setLayout(new BorderLayout());
		setAlwaysOnTop(true);
		setPreferredSize(new Dimension(360,100));
		setLocationRelativeTo(frame);
		
		select.addElement(MyConstants.KEY_NAME);
		select.addElement(MyConstants.KEY_ID);
		jcb = new JComboBox(select);
		
				
		JPanel jp = new JPanel();
		jp.setLayout(new FlowLayout());
		jp.add(new JLabel("关键字:",JLabel.CENTER));
		jp.add(key);
		jp.add(new JLabel("选项:",JLabel.CENTER));
		jp.add(jcb);		
				
		c.add(jp,BorderLayout.CENTER);

		JPanel jp2 = new JPanel(new FlowLayout());
		JButton saveButton = new JButton("提交查询");
		JButton cancelButton = new JButton("取消");
		jp2.add(saveButton);
		jp2.add(cancelButton);
		c.add(jp2,BorderLayout.SOUTH);
		
		
		//确认按钮
		saveButton.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent ae)
			{
								
				if(key.getText().trim().equals(""))
					{
						JOptionPane.showMessageDialog(SearchFrame.this,"查询内容不能为空");
						key.requestFocus();
						return;
					}
				
				
				Vector v = new Vector();
				//加入操作指示,表示插入数据的1
				v.addElement(Integer.toString(MyConstants.SEARCH_KEY));
				
				v.addElement(jcb.getSelectedItem());				
				v.addElement(key.getText().trim());
						
				try
				{
					Socket s = new Socket(MyConstants.SERVERIP,MyConstants.SERVERPORT);
					
					try
					{
						OutputStream os = s.getOutputStream();
						ObjectOutputStream oos = new ObjectOutputStream(os);
						oos.writeObject(v);
						
						InputStream is = s.getInputStream();
						ObjectInputStream ois = new ObjectInputStream(is);
						v = (Vector)ois.readObject();
						
						if(v.isEmpty())
						{
							JOptionPane.showMessageDialog(SearchFrame.this,"没有满足条件的记录");
						}
						
						else
						{
							MyTableModel tableModel =(MyTableModel) SearchFrame.this.table.getModel();
							//先移去原来的JTable列表记录
							int total = tableModel.getRowCount();
							
							for(int i=total-1;i>=0;i--)
							{
								tableModel.removeRow(i);
							}
							
							//加上查找出来的记录
							Enumeration e = v.elements();
						 	while(e.hasMoreElements())
							{
								Vector vector = (Vector)e.nextElement();
								tableModel.addRow(vector);
							}
							
						}
					}
					catch(Exception e)
					{
						JOptionPane.showMessageDialog(SearchFrame.this,e.getMessage());
						e.printStackTrace();
					}
					finally
					{
						InputStream is = s.getInputStream();
						byte buf[] = new byte[32];
						int len = is.read();
						if (len>0)
						{
							byte b[] = new byte[len];
							int length = is.read(b);
							String echo = new String(b,0,length);
							JOptionPane.showMessageDialog(SearchFrame.this,echo);													
						}
						 				
					}
					
					s.close();						
				}
				catch(Exception ex)
				{
					JOptionPane.showMessageDialog(SearchFrame.this,ex.getMessage());						
				}					
				
				}
			});

		
		
		//取消按钮
		cancelButton.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				setVisible(false);
				dispose();				
			}
		}
		);
		
		pack();
		setVisible(true);
				
		
	}

}

⌨️ 快捷键说明

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