📄 simpletable.java
字号:
/**
* @(#)SimpleTable.java
*
*
* @author 张慧
* @version 1.00 2007/7/7
*/
package table;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
public class SimpleTable extends JFrame{
JTable table;
int i;
JFrame f;
String Numbers;
String Names;
String Gender;
String Address;
String QQnum;
String isMember;
JTextField jt_0;
JTextField jt_1;
JTextField jt_2;
JTextField jt_3;
JTextField jt_4;
JTextField jt_5;
JDialog jd;
Vector rowData;
Vector rowData0;
Vector rowData1;
Vector rowData2;
Vector rowData3;
Vector rowData4;
Vector rowData5;
Vector rowData6;
Vector rowData7;
Vector rowData8;
Vector rowData9;
public SimpleTable(){
f=new JFrame();
//设置L&F,现在设置为Windows风格
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}catch(Exception e){
}
Vector columnNames=new Vector();//创建各项名称
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("性别");
columnNames.add("籍贯");
columnNames.add("QQ号");
columnNames.add("是否团员");
rowData=new Vector();//学生信息数据主体
///////////////读取数据/////////////////////////////////////
try{
FileInputStream f=new FileInputStream("data.ser");
ObjectInputStream s=new ObjectInputStream(f);
rowData=(Vector)s.readObject();
s.close();
}catch(IOException e){}
catch(ClassNotFoundException e){}
JPanel pane=new JPanel(new BorderLayout());//定义顶层容器
JPanel pane0=new JPanel(new BorderLayout());
JPanel pane2=new JPanel(new FlowLayout());
//pane2.setSize(400,600);
JPanel pane3=new JPanel();
JLabel TitleLabel=new JLabel("教师学生管理系统");
TitleLabel.setFont(new Font("",Font.BOLD,20));
TitleLabel.setForeground(new Color(236,135,14));
pane3.add(TitleLabel);
pane3.setBackground(new Color(131,199,93));
JButton a=new JButton("添加");
a.setToolTipText("单击进行添加");
a.setFont(new Font("",Font.BOLD,15));
a.setBackground(new Color(175,215,136));
//a.updateUI();
//编写添加监听器
a.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jd=new JDialog(f,"输入",false,null);//顶层面板
JPanel pane_0=new JPanel(new GridLayout(0,1));
//装载JTabel和TextField的面板
JPanel pane_1=new JPanel(new FlowLayout());
JPanel pane_2=new JPanel(new FlowLayout());
JPanel pane_3=new JPanel(new FlowLayout());
JPanel pane_4=new JPanel(new FlowLayout());
JPanel pane_5=new JPanel(new FlowLayout());
JPanel pane_6=new JPanel(new FlowLayout());
JPanel pane_7=new JPanel(new FlowLayout());
JPanel pane_8=new JPanel(new FlowLayout());//装载标题的面板
//设置面板L&F
pane_1.setBackground(new Color(131,199,93));
pane_2.setBackground(new Color(131,199,93));
pane_3.setBackground(new Color(131,199,93));
pane_4.setBackground(new Color(131,199,93));
pane_5.setBackground(new Color(131,199,93));
pane_6.setBackground(new Color(131,199,93));
pane_7.setBackground(new Color(131,199,93));
pane_8.setBackground(new Color(131,199,93));
final JButton b1=new JButton("确定");
final JButton b2=new JButton("取消");
//设置按钮的L&F
b1.setFont(new Font("",Font.BOLD,15));
b2.setFont(new Font("",Font.BOLD,15));
b1.setBackground(new Color(175,215,136));
b2.setBackground(new Color(175,215,136));
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent a){
Integer Num=null;
Integer QQ=null;
Numbers=jt_0.getText();//获取学号
Names=jt_1.getText();//获取姓名
Gender=jt_2.getText();//获取性别
Address=jt_3.getText();//获取籍贯
QQnum=jt_4.getText();//获取QQ号
isMember=jt_5.getText();
String ss[]=new String[6];
ss[0]=Numbers;
ss[1]=Names;
ss[2]=Gender;
ss[3]=Address;
ss[4]=QQnum;
ss[5]=isMember;
int h;
boolean bb=false;
for(h=0;h<ss.length;h++){
System.out.println(ss[h]);
if(ss[h].equals("")){
bb=true;
break;
}else{bb=false;}
}
if(bb){
JOptionPane.showMessageDialog(b1,"输入不能有为空!","Error",JOptionPane.ERROR_MESSAGE);
}else{
//Numbers=jt_0.getText();//获取学号
try{Num=Integer.valueOf(Numbers);}catch(NumberFormatException n){
}
//判断学号是否重复
Vector M;
Integer N;
boolean b=false;
for(int j=0;j<rowData.size();j++){
M=(Vector)rowData.get(j);
N=(Integer)M.get(0);
System.out.println(N);
System.out.println(Num);
b=N.equals(Num);
if(b){break;}//如果b为真跳出循环
}
if(b){
JOptionPane.showMessageDialog(b1,"学号:"+Numbers+"重复,不能添加!","Error",JOptionPane.ERROR_MESSAGE);
}
else{
try{QQ=Integer.valueOf(QQnum);}catch(NumberFormatException n1){
}
int s4=rowData.size();
System.out.println("s4="+s4);
Vector rowData10=new Vector();
rowData10.add(Num);
rowData10.add(Names);
rowData10.add(Gender);
rowData10.add(Address);
rowData10.add(QQ);
rowData10.add(isMember);
if(s4!=0){
rowData.add(i+1,rowData10);}
else{
rowData.add(rowData10);
}
table.updateUI();
JOptionPane.showMessageDialog(b1,"添加成功!","Information",JOptionPane.INFORMATION_MESSAGE);
//System.out.println(num);
jd.removeNotify();
//////////////////////存取数据////////////////////////////////////////////////
try{
ObjectOutputStream fout1=new ObjectOutputStream(new FileOutputStream("data.ser"));
fout1.writeObject(rowData);
fout1.close();
}catch(IOException e){}
///////////////////////存取结束///////////////////////////////
}
}
}
});
///////////////////按钮b1的监听器结束////////////////////////////////////////
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent a){
jd.removeNotify();//关闭JDialog
}
});
JLabel jl_0=new JLabel("学 号");
JLabel jl_1=new JLabel("姓 名");
JLabel jl_2=new JLabel("性 别");
JLabel jl_3=new JLabel("籍 贯");
JLabel jl_4=new JLabel("QQ 号");
JLabel jl_5=new JLabel("是否党员");
JLabel jl_6=new JLabel("请输入学生信息");
jl_6.setForeground(new Color(241,175,0));//设置字体颜色
jl_6.setFont(new Font("",Font.BOLD,20));//设置字体大小
jl_0.setFont(new Font("",Font.BOLD,15));
jl_1.setFont(new Font("",Font.BOLD,15));
jl_2.setFont(new Font("",Font.BOLD,15));
jl_3.setFont(new Font("",Font.BOLD,15));
jl_4.setFont(new Font("",Font.BOLD,15));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -