📄 insertframe.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 + -