Swing表格JTable通过JTableModel插入行
转自: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插入行相关推荐
- swing表格JTable隐藏某一列
// 设置第五列隐藏 table.getTableHeader().getColumnModel().getColumn(4).setMaxWidth(0); table.getTableHeader ...
- java swing 表格控件_java swing 开发 -JTable
最近利用空闲时间自己琢磨了一下java swing 编程,其实在从事javaweb之前我一直向往的就是java swing 开发,不知道为什么可能当时觉得Windows上的exe程序很是神奇,关于wi ...
- 同名字的数值求和插入行_中望CAD2021:支持表格和字段插入公式,提高数据处理效率...
表格是dwg文档中常见的图形元素,设计师通过表格可清晰地展示一系列数据信息. 为提高设计师处理数据的效率,中望CAD2021提供了在表格和字段中插入公式的功能,设计师使用公式即可自动计算并显示具有关联 ...
- 表格序号_让Excel表格中的序号自动更新,再也不怕删除、插入行了
以前小编发布过一篇<Excel自动生成序号的三种方法,省去一个一个录入的麻烦>,有粉丝问到:表格删除行或插入行后序号断了,能不能自动更新呢?今天小编就教大家自动更新序号的方法. 方法一:利 ...
- speedoffice(Excel)表格怎么一次插入多行?
excel表格怎么一次插入多行呢,一起看看小编是怎么操作的吧. 打开excel文档,如在 "小明"所在行的后面插入3行. 选中"小明"后面的3行,然后鼠标右键选 ...
- POI操作Word中的表格XWPFTable,在指定位置插入行
最近由于客户使用Word文档展示表格中的数据,我TM...Excel它不香嘛,为什么要用Word去展示表格呢??? 但是呢.客户就是上帝,上帝让我们干嘛我们就要干嘛. 1:有这样一个需求,在已有的Wo ...
- 表格的操作包括:标记行、移动行、删除行、插入行
1.标记行 这里讲的标记行指的是单击此行,可以实现在此行右边出现一个勾,如下图所示: 为了实现标记功能,在ViewController.m中@end之前添加代码: C代码 #pragma mark ...
- Layui数据表格中动态插入行插入下拉框
想要在已加载的layui数据表格动态的插入一行,首先要在加载表格的时候设置它的event值.因为我这里是点击序号就添加一行,所以我在序号中设置了它的event值!当然在静态表格当中也是一样的操作,在你 ...
- 用 TableModel Free 框架简化 Swing 开发——JTable
用 TableModel Free 框架简化 Swing 开发 从 TableModel 的负担中解脱出来 Michael Abernethy, 软件工程师 II, EMC 简介: 本文将介绍 Tab ...
- JAVA里点击树与表格结合,javaswing中的表格(jtable)和树(jtree)组件使用实例.doc
javaswing中的表格(jtable)和树(jtree)组件使用实例.doc JAVASWING中的表格JTABLE和树JTREE组件使用实例这篇文章主要介绍了JAVASWING中的表格JTABL ...
最新文章
- photofunia
- 数据的统计特征量有哪些
- No 'Access-Control-Allow-Origin' header is present on the requested resource.
- 解决MYSQL错误:ERROR 1040 (08004): Too many connections
- 【 C 】对指针表达式的个人总结与思考
- SQL效率低下原因主要有
- centos6.5安装docker
- Report not added to business roles
- What's the best way to get rid of get parameters from url string?
- 59.排序好的大数据创建索引文件,并实现大文件的二分查找,根据索引百万数据秒读数据...
- linux不适合数据传输,【Linux调试经验】局域网内数据传输不经过路由
- linux数组长度的函数,linux awk数组操作详细介绍
- Cesium:修改点击显示的infoBox内容
- 指挥系统核心服务器,应急指挥中心指挥调度系统解决方案(一)
- 我们现在不再需要杀毒软件了吗?
- Wasserstein距离
- 学生用计算机的功能,怎么使用学生专用计算器? 来看看吧
- 2011不同阶层理财大盘点
- 小 Biu 的旅行(dfs)
- C++数据结构第13课、类族结构的进化
热门文章
- C++关闭同步流 ios::sync_with_stdio(false);
- Java并发编程之volatile关键字解析
- 一道综合练习题实践list及dictionary集合类
- MongoDB 可视化管理工具 MongoCola-1.1.0 测试版发布
- Gradle编译spring3.x报错找不到itextpdf4.2.2解决方案
- ubuntu下安装python的gevent模块遇到的一个问题
- ios虚拟机安装(二)
- javascript中数组遍历问题
- Redis学习手册(主从复制)
- VS2010中使用boost正则表达式库