JAVA_GUI_TABLE

来源:互联网 发布:eclipse查看源码插件 编辑:程序博客网 时间:2024/05/20 18:45

目的

学习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);    }}

结果

这里写图片描述

0 0
原创粉丝点击