JAVA JTable的实用使用方法

创建table,调用无参的构造函数:
JTable table= new JTable();


以表头和数据创建表格
//这要求表头和数据都不能为空,不然会抛出NullPointerException,即不能通过这个方法创建出一个只有表头的表格

Object[][] cellData = {{"row1-col1", "row1-col2"},{"row2-col1", "row2-col2"}} ;
String[] columnNames
= {"col1", "col2"} ;
JTable table
= new JTable(cellData, columnNames);

为空表格添加列
//这种方法能创建只有表头的表格

//这是实际应用中的一个例子
JTable table=new JTable();
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
//因为只有DefaultTableModel有addColumn的功能,而table.getModel()返回的是一个TableModel类型的对象
//查看API,DefaultTableModel实现了TableModel的接口,为了调用DefaultTableModel的方法,必须强制类型转换
tableModel.addColumn("autoclass1");
tableModel.addColumn("autoclass2");
tableModel.addColumn("diff");
tableModel.addColumn("content");
结果:
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子

为表格添加行(数据):
Object[] o={"1","2","3","4"};
tableModel.addRow(o);
 结果:
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子


获取第n+1行第m+1列的数据
//n,m都是从0开始

DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
String cellData=(String) tableModel.getValueAt(0,0);
//cellData是第一行第一列的数据值
//getValueAT(a,b)返回的是Object类型的对象


设置第n+1行第m+1列的数据
tableModel.setValueAt("afaf", 0, 0);



统计列数和行数:
tableModel.getRowCount()
tableModel.getColumnCount()
//返回的是int类型的值


设置列宽,行高:
TableColumn column = table.getColumnModel().getColumn( 0 );//取第一列
   column.setPreferredWidth( 30 );
   column.setMaxWidth(
30 );
column.setMinWidth(
30 );

   table.setRowHeight(20);


删除列,删除行
table.removeColumn(table.getColumnModel().getColumn(1));
//删除第二列的数据

DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.removeRow(0);
//删除第一行的数据

清空表的所有行,只保留表头:
//table和tableModel都没有clear()的方法
tableModel.setRowCount(0);
如果连表头也不要了:
tableModel.setColumnCount(0);



JTable的监听:
有很多,先只讲一个我常用到的:
ListSelecitonListener,监听选定特定行,响应相应的事件

例:获取选定行的第4列的值,并把它显示在一个JTextArea里
写一个内部类实现ListSelectionListener接口
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子
 为table添加监听:
ListSelectionModel selectionMode=table.getSelectionModel();
selectionMode.addListSelectionListener(new RowSelectionListener());

效果图:
JAVA JTable的实用使用方法 - 小镜子~ - 菜园子
 
 





 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值