jtable表格控件的总结(横向滚动栏代码)

以前一直以为这个控件用法很简单,没什么特别之处,这几天才发现原来变化可以这么多,也许这就是java的魅力吧!

摘抄自:http://blog.sina.com.cn/s/blog_4b2778c701000dc2.html

1、一般我在用是以下两种:

JTable table=new JTable(10,10) //10行10列

JTable table=new JTable(二维数组名,一维数组名) //二维数组作为数据,一维数组作为列名

但这只是最简单的用法,另外还有表格模型,用法如下:

DefaultTableModel dtm = null;

JTable table = null;

dtm = new DefaultTableModel(二维数组名,一维数组名);

table = new JTable(dtm);

有了这个表格模型后,我们可以对表格对更多的事情,比如事件:

增加 TableModelListener 接口后,有个 tableChanged 事件,可以触发点击表格后的事件。

2、要把表格加到一个Frame时只需要用add方法就可以了,但是这样简单的增加表格后,无法显示列名,所以可以先把表格增加到一个滚动面板中,然后再把滚动面板add到Frame里,如:

table = new JTable(data, colNames);

JScrollPane jsc = new JScrollPane(table);

getContentPane().add(jsc);

另外还有一种方法可以让表格正常显示出列名:

用JTable的getTableHeader()方法:

getContentPane().add(table.getTableHeader());

3、表格列宽调整:

表格显示出来后,我们拉各个列的边框,可以调整宽度,几种方法方法可以改变拉列边框时候的变化方式:

table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);后面所有的列跟着调整
    table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);调整最后一列
    table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);调整下一列
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);其他所有列不调整(添加横向滚动栏的关键代码)
    table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);默认的

4、表格添加/删除行和列操作:

结合上面的表格模型

//增加行

dtm.addRow(new Vector());

//增加列

dtm.addColumn("字段1");

//删除行

int row = dtm.getRowCount()-1;
    if(row>=0)
    dtm.removeRow(row);

//删除列,最烦了

int col = dtm.getColumnCount()-1;
    if(col>=0)
    {
     //获取表格模型
     TableColumnModel tcm = table.getColumnModel();
     //获取表格对象
     TableColumn tc = tcm.getColumn(col);
     //从模型中删除
     tcm.removeColumn(tc);
     //设置列数
     dtm.setColumnCount(col);
     }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值