目的
学习java 中 table的增删
源码
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
public class test4 extends JFrame {
ArrayList<Object[]> oList=new ArrayList<Object[]>();
private JTable tb = new JTable();
private DefaultTableModel model; // 表格模型对象
private JTextField t1;
private JTextField t2;
private JTextField t3;
private JTextField t4;
private JTextField t5;
private JTextField t6;
private JTextField t7;
private JTextField t8;
public void clear(){
for (int i =model.getRowCount()-1; i >=0; i--) {
model.removeRow(i);
}
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
test4 window = new test4();
//this.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public test4() {
initialize();
}
private void initialize() {
Panel p = new Panel();
//p.setBackground(Color.ORANGE);
JLabel l10=new JLabel("请输入要删除监理企业编号: "); p.add(l10);
t8 = new JTextField("", 10); p.add(t8);
JButton b2 = new JButton("删除"); p.add(b2);
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(t8.getText().equals("")){
JOptionPane.showMessageDialog(null, "输入信息不能为空");
}else{
int flag=0;
String s1 = t8.getText();
for (Object[] u : oList) {
//System.out.println("@"+s1+"@"+"\t"+u[0].toString()+"@");
if(s1.equals(u[0].toString())){
oList.remove(u);
//System.out.println("hehe");
flag = 1;
break;
}
}
if(flag==0){
JOptionPane.showMessageDialog(null, "编号输入有误");
}else{
clear();
for (Object[] u : oList) {
Object[] o1 = { u[0],u[1], u[2], u[3],u[4], u[5], u[6]};
model.addRow(o1);// 第三步
}
tb.setModel(model);// 第四步
}
}
}
});
getContentPane().add(p, BorderLayout.NORTH);
String[] title = { "监理企业编号", "企业名称", "资质等级", "所处位置", "联系电话", "人数", "备注" };// 第一步
model = new DefaultTableModel(title, 0);// 第二步
Object[] o1 = { "11q", "2e2", "3ewq3","44re", "55re", "6re6","re77" };
Object[] o2 = { "11", "22", "33","44", "55", "66","77" };
Object[] o3 = { "1112", "hjhg22", "hj33","4hj4", "5jgh5", "h66","7jh7" };
model.addRow(o1);// 第三步
model.addRow(o2);// 第三步
model.addRow(o3);// 第三步
oList.add(o1);
oList.add(o2);
oList.add(o3);
tb.setModel(model);// 第四步
tb.setRowSorter(new TableRowSorter(model));//--------------------------------------------排序
JScrollPane sp = new JScrollPane(tb);// 第五步
getContentPane().add(sp);// 第六步
Panel p1 = new Panel();
p1.setLayout(new GridLayout(2,8,10,10));
//p1.setBackground(Color.ORANGE);
JLabel l11=new JLabel("监理企业编号: ",JLabel.CENTER); p1.add(l11);
t1 = new JTextField(""); p1.add(t1);
JLabel l21=new JLabel("企业名称: ",JLabel.CENTER); p1.add(l21);
t2 = new JTextField(""); p1.add(t2);
JLabel l31=new JLabel("资质等级: ",JLabel.CENTER); p1.add(l31);
t3 = new JTextField("", 10); p1.add(t3);
JLabel l41=new JLabel("所处位置: ",JLabel.CENTER); p1.add(l41);
t4 = new JTextField(""); p1.add(t4);
JLabel l51=new JLabel("联系电话: ",JLabel.CENTER); p1.add(l51);
t5 = new JTextField(""); p1.add(t5);
JLabel l61=new JLabel("人数: ",JLabel.CENTER); p1.add(l61);
t6 = new JTextField(""); p1.add(t6);
JLabel l71=new JLabel("备注: ",JLabel.CENTER); p1.add(l71);
t7 = new JTextField(""); p1.add(t7);
JLabel l81=new JLabel(" ",JLabel.CENTER); p1.add(l81);
JButton b1 = new JButton("添加");
p1.add(b1);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if((t1.getText().equals(""))||(t2.getText().equals(""))||(t3.getText().equals(""))||(t4.getText().equals(""))||(t5.getText().equals(""))||(t6.getText().equals(""))||(t7.getText().equals(""))){
JOptionPane.showMessageDialog(null, "输入信息不能为空");
}else{
clear();
Object[] o = { t1.getText(), t1.getText(), t1.getText(),t1.getText(), t1.getText(), t1.getText(),t1.getText() };
oList.add(o);
for (Object[] u : oList) {
Object[] o1 = { u[0],u[1], u[2], u[3],u[4], u[5], u[6]};
model.addRow(o1);// 第三步
}
tb.setModel(model);// 第四步
}
}
});
getContentPane().add(p1, BorderLayout.SOUTH);
pack();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setTitle("javaGUI");
setBounds(100, 100, 800, 500);
setVisible(true);
// frame.setIconifiable(true);
// frame.setClosable(true);
// frame.setMaximizable(true);
// frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}