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

📄 insertframe.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.JButton;
import javax.swing.JTextField;
import javax.swing.JList;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.InputStream;
import java.util.Vector;

public class InsertFrame extends JFrame
{
	private MyTableModel tableModel=null;
	private JFrame frame=null;
	//字段的个数
	private int len = MyConstants.TITLENAMES.length;
	private JTextField fields [] = new JTextField[len];
	
	public InsertFrame(MyTableModel tableModel,JFrame frame)
	{
		super("插入学生信息");
		this.tableModel = tableModel;
		this.frame = frame;
		
		Container c = getContentPane();
		c.setLayout(new BorderLayout());
		setAlwaysOnTop(true);
		setPreferredSize(new Dimension(260,230));
		setLocationRelativeTo(frame);
				
		JPanel jp = new JPanel();
		jp.setLayout(new GridLayout(8,2,0,0));
				
	
		//只是为了美观
		jp.add(new JLabel());	
		jp.add(new JLabel());
		//以上只是为了美观	
		
		JLabel labels [] = new JLabel[len];

		for(int i=0;i<len;i++)
		{
			labels [i] = new JLabel(MyConstants.TITLENAMES[i]+":",JLabel.CENTER);
			fields [i] = new JTextField(10);
			jp.add(labels [i]);
			jp.add(fields [i]);
					
		}
		
				
		c.add(jp,BorderLayout.CENTER);
		c.add(new JPanel(),BorderLayout.WEST);
		JPanel jp2 = new JPanel();
		JButton saveButton = new JButton("保存");
		JButton cancelButton = new JButton("取消");
		jp2.add(saveButton);
		jp2.add(cancelButton);
		c.add(jp2,BorderLayout.SOUTH);
		
		//只是为了美观
		c.add(new JPanel(),BorderLayout.EAST);	
		
		//以上只是为了美观
		
		//确认按钮
		saveButton.addActionListener(new ActionListener()
		{

			public void actionPerformed(ActionEvent ae)
			{
				for(int i=0;i<len;i++)
				{
					if(fields [i].getText().trim().equals(""))
					{
						JOptionPane.showMessageDialog(InsertFrame.this,MyConstants.TITLENAMES[i]+"不能为空");
						fields [i].requestFocus();
						return;
					}
				}
				
				Vector v = new Vector();
				//加入操作指示,表示插入数据的1
				v.addElement(Integer.toString(MyConstants.INSERT_KEY));
				
				for(int i=0;i<len;i++)
				{
					//System.out.println(fields [i].getText().trim());
					v.addElement(fields [i].getText().trim());
					
				}
						
				try
				{
					Socket s = new Socket(MyConstants.SERVERIP,MyConstants.SERVERPORT);
					
					try
					{
						OutputStream os = s.getOutputStream();
						ObjectOutputStream oos = new ObjectOutputStream(os);
						oos.writeObject(v);
						
					}
					catch(Exception e)
					{
						JOptionPane.showMessageDialog(InsertFrame.this,e.getMessage());
					}
					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(InsertFrame.this,echo);
							if(echo.equals(MyConstants.INSERT))
							{
								//去掉操作指示
								v.remove(0);
								//加入到列表
								InsertFrame.this.tableModel.addRow(v);
							}
							
						}
						//去除文本框数据
						for(int i=0;i<InsertFrame.this.len;i++)
						{
							fields [i].setText("");						
							
						}						
						s.close(); 				
					}						
				}
				catch(Exception ex)
				{
					JOptionPane.showMessageDialog(InsertFrame.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 + -