转自:http://www.cnblogs.com/maxblog/archive/2010/09/03/1816919.html
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
//维护表格
public class JTableDefaultTableModelTest extends JFrame{private DefaultTableModel tableModel;   //表格模型对象private JTable table;private JTextField aTextField;private JTextField bTextField;public JTableDefaultTableModelTest(){super();setTitle("表格");setBounds(100,100,500,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);String[] columnNames = {"A","B"};   //列名String [][]tableVales={{"A1","B1"},{"A2","B2"},{"A3","B3"},{"A4","B4"},{"A5","B5"}}; //数据tableModel = new DefaultTableModel(tableVales,columnNames);table = new JTable(tableModel);JScrollPane scrollPane = new JScrollPane(table);   //支持滚动getContentPane().add(scrollPane,BorderLayout.CENTER);//jdk1.6//排序://table.setRowSorter(new TableRowSorter(tableModel));table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  //单选table.addMouseListener(new MouseAdapter(){    //鼠标事件public void mouseClicked(MouseEvent e){int selectedRow = table.getSelectedRow(); //获得选中行索引Object oa = tableModel.getValueAt(selectedRow, 0);Object ob = tableModel.getValueAt(selectedRow, 1);aTextField.setText(oa.toString());  //给文本框赋值bTextField.setText(ob.toString());}});scrollPane.setViewportView(table);final JPanel panel = new JPanel();getContentPane().add(panel,BorderLayout.SOUTH);panel.add(new JLabel("A: "));aTextField = new JTextField("A4",10);panel.add(aTextField);panel.add(new JLabel("B: "));bTextField = new JTextField("B4",10);panel.add(bTextField);final JButton addButton = new JButton("添加");   //添加按钮addButton.addActionListener(new ActionListener(){//添加事件public void actionPerformed(ActionEvent e){String []rowValues = {aTextField.getText(),bTextField.getText()};tableModel.addRow(rowValues);  //添加一行int rowCount = table.getRowCount() +1;   //行数加上1aTextField.setText("A"+rowCount);bTextField.setText("B"+rowCount);}});panel.add(addButton);  final JButton updateButton = new JButton("修改");   //修改按钮updateButton.addActionListener(new ActionListener(){//添加事件public void actionPerformed(ActionEvent e){int selectedRow = table.getSelectedRow();//获得选中行的索引if(selectedRow!= -1)   //是否存在选中行{//修改指定的值:tableModel.setValueAt(aTextField.getText(), selectedRow, 0);tableModel.setValueAt(bTextField.getText(), selectedRow, 1);//table.setValueAt(arg0, arg1, arg2)}}});panel.add(updateButton);final JButton delButton = new JButton("删除");delButton.addActionListener(new ActionListener(){//添加事件public void actionPerformed(ActionEvent e){int selectedRow = table.getSelectedRow();//获得选中行的索引if(selectedRow!=-1)  //存在选中行{tableModel.removeRow(selectedRow);  //删除行}}});panel.add(delButton);}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubJTableDefaultTableModelTest jTableDefaultTableModelTest = new JTableDefaultTableModelTest();jTableDefaultTableModelTest.setVisible(true);}}

Swing表格JTable通过JTableModel插入行相关推荐

  1. swing表格JTable隐藏某一列

    // 设置第五列隐藏 table.getTableHeader().getColumnModel().getColumn(4).setMaxWidth(0); table.getTableHeader ...

  2. java swing 表格控件_java swing 开发 -JTable

    最近利用空闲时间自己琢磨了一下java swing 编程,其实在从事javaweb之前我一直向往的就是java swing 开发,不知道为什么可能当时觉得Windows上的exe程序很是神奇,关于wi ...

  3. 同名字的数值求和插入行_中望CAD2021:支持表格和字段插入公式,提高数据处理效率...

    表格是dwg文档中常见的图形元素,设计师通过表格可清晰地展示一系列数据信息. 为提高设计师处理数据的效率,中望CAD2021提供了在表格和字段中插入公式的功能,设计师使用公式即可自动计算并显示具有关联 ...

  4. 表格序号_让Excel表格中的序号自动更新,再也不怕删除、插入行了

    以前小编发布过一篇<Excel自动生成序号的三种方法,省去一个一个录入的麻烦>,有粉丝问到:表格删除行或插入行后序号断了,能不能自动更新呢?今天小编就教大家自动更新序号的方法. 方法一:利 ...

  5. speedoffice(Excel)表格怎么一次插入多行?

    excel表格怎么一次插入多行呢,一起看看小编是怎么操作的吧. 打开excel文档,如在 "小明"所在行的后面插入3行. 选中"小明"后面的3行,然后鼠标右键选 ...

  6. POI操作Word中的表格XWPFTable,在指定位置插入行

    最近由于客户使用Word文档展示表格中的数据,我TM...Excel它不香嘛,为什么要用Word去展示表格呢??? 但是呢.客户就是上帝,上帝让我们干嘛我们就要干嘛. 1:有这样一个需求,在已有的Wo ...

  7. 表格的操作包括:标记行、移动行、删除行、插入行

    1.标记行 这里讲的标记行指的是单击此行,可以实现在此行右边出现一个勾,如下图所示: 为了实现标记功能,在ViewController.m中@end之前添加代码: C代码   #pragma mark ...

  8. Layui数据表格中动态插入行插入下拉框

    想要在已加载的layui数据表格动态的插入一行,首先要在加载表格的时候设置它的event值.因为我这里是点击序号就添加一行,所以我在序号中设置了它的event值!当然在静态表格当中也是一样的操作,在你 ...

  9. 用 TableModel Free 框架简化 Swing 开发——JTable

    用 TableModel Free 框架简化 Swing 开发 从 TableModel 的负担中解脱出来 Michael Abernethy, 软件工程师 II, EMC 简介: 本文将介绍 Tab ...

  10. JAVA里点击树与表格结合,javaswing中的表格(jtable)和树(jtree)组件使用实例.doc

    javaswing中的表格(jtable)和树(jtree)组件使用实例.doc JAVASWING中的表格JTABLE和树JTREE组件使用实例这篇文章主要介绍了JAVASWING中的表格JTABL ...

最新文章

  1. photofunia
  2. 数据的统计特征量有哪些
  3. No 'Access-Control-Allow-Origin' header is present on the requested resource.
  4. 解决MYSQL错误:ERROR 1040 (08004): Too many connections
  5. 【 C 】对指针表达式的个人总结与思考
  6. SQL效率低下原因主要有
  7. centos6.5安装docker
  8. Report not added to business roles
  9. What's the best way to get rid of get parameters from url string?
  10. 59.排序好的大数据创建索引文件,并实现大文件的二分查找,根据索引百万数据秒读数据...
  11. linux不适合数据传输,【Linux调试经验】局域网内数据传输不经过路由
  12. linux数组长度的函数,linux awk数组操作详细介绍
  13. Cesium:修改点击显示的infoBox内容
  14. 指挥系统核心服务器,应急指挥中心指挥调度系统解决方案(一)
  15. 我们现在不再需要杀毒软件了吗?
  16. Wasserstein距离
  17. 学生用计算机的功能,怎么使用学生专用计算器? 来看看吧
  18. 2011不同阶层理财大盘点
  19. 小 Biu 的旅行(dfs)
  20. C++数据结构第13课、类族结构的进化

热门文章

  1. C++关闭同步流 ios::sync_with_stdio(false);
  2. Java并发编程之volatile关键字解析
  3. 一道综合练习题实践list及dictionary集合类
  4. MongoDB 可视化管理工具 MongoCola-1.1.0 测试版发布
  5. Gradle编译spring3.x报错找不到itextpdf4.2.2解决方案
  6. ubuntu下安装python的gevent模块遇到的一个问题
  7. ios虚拟机安装(二)
  8. javascript中数组遍历问题
  9. Redis学习手册(主从复制)
  10. VS2010中使用boost正则表达式库