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
- JAVA_GUI_TABLE
- 用maven编译groovy项目
- 亲,这就是遗传算法
- 指针的秘密(The secret of point)
- 详解C++中令人头痛的&和*操作符
- Debian Jessie安装youdaodict(deb包)
- JAVA_GUI_TABLE
- Mp4 文件格式
- Javascript数组的常用方法总结一
- HDU2772 Matchsticks 【模拟题】
- saltstack快速入门##个人整理篇
- 编写命令解释器sh(一)
- Optimizing Layout Hierarchies
- c#线程同步(2)----lock
- ScheduledThreadPoolExecutor实现定时器和延时加载功能