JAVA_GUI_TABLE

目的

学习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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值