转自: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; //行数加上1 aTextField.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 stub JTableDefaultTableModelTest jTableDefaultTableModelTest = new JTableDefaultTableModelTest(); jTableDefaultTableModelTest.setVisible(true); } }
您还没有登录,请您登录后再发表评论
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
JTabel的一些方法,表格的设置,按钮的添加,界面的布局,只是一些简单的小玩意
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
Swing之JTable用法
Swing之JTable的详细介绍,其基本用法及源码例子
Java Swing JTable分页!JAVA源码!
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
java_swing表格分页
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
里面包含一个类,一个图片 ... * AbstractTableModel是TableModel的实现类(抽象类) 也没有删除一行的方法 * DefaultTableModel继承了AbstractTableModel 这个类中有删除一行的方法 */ dtm.removeRow(row);
中级SWING-J中级中级SWING-JTable属性SWING-JTable属性Table属性
在java swing的开发中,需要往表格添加自定义对象,往往需要转换。此类定义了抽象类,运用了范型技术。只需继承时传入对象类型,既可以操作对象表格Model。 作者(HuaSheng) 如有不足,欢迎给我email:sheng24@vip....
JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
本文档主要讲述的是java表格控件JTable常用操作详解;JTable是Swing编程中很常用的控件,文中总结了一些常用方法以备查阅。
1.JTable与TableModel 1.TableModel与JTable的关系 2.TableModel实践 3.使用JTable+TableModel展示java中的数据对象 2.JTable展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将列设为下拉框 4.表格...
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
JTable使用TableModel实现数据绑定的示例,以及常用JTable时间处理中,如何获取当前选中行,选中行其他数据等。
在jtable中选中一行,点击edit即可对此选中的行记录操作,只是个简单的实现,还并不完全
相关推荐
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
JTabel的一些方法,表格的设置,按钮的添加,界面的布局,只是一些简单的小玩意
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
Swing之JTable用法
Swing之JTable的详细介绍,其基本用法及源码例子
Java Swing JTable分页!JAVA源码!
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
java_swing表格分页
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
里面包含一个类,一个图片 ... * AbstractTableModel是TableModel的实现类(抽象类) 也没有删除一行的方法 * DefaultTableModel继承了AbstractTableModel 这个类中有删除一行的方法 */ dtm.removeRow(row);
中级SWING-J中级中级SWING-JTable属性SWING-JTable属性Table属性
在java swing的开发中,需要往表格添加自定义对象,往往需要转换。此类定义了抽象类,运用了范型技术。只需继承时传入对象类型,既可以操作对象表格Model。 作者(HuaSheng) 如有不足,欢迎给我email:sheng24@vip....
JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
本文档主要讲述的是java表格控件JTable常用操作详解;JTable是Swing编程中很常用的控件,文中总结了一些常用方法以备查阅。
1.JTable与TableModel 1.TableModel与JTable的关系 2.TableModel实践 3.使用JTable+TableModel展示java中的数据对象 2.JTable展示方式的美化 1.设置表格的宽度和高度 2.要显示表头 3.新加列,将列设为下拉框 4.表格...
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
JTable使用TableModel实现数据绑定的示例,以及常用JTable时间处理中,如何获取当前选中行,选中行其他数据等。
在jtable中选中一行,点击edit即可对此选中的行记录操作,只是个简单的实现,还并不完全