Java Swing中JTable的使用

写数据库的大作业,难免牵涉到JTable,说一些使用JTable的心得:
JTable的数据源是一个叫做DefaultTableModel的对象,在JTable创建时即可绑定:
 
DefaultTableModel model=new DefaultTableModel();
JTable table=new JTable(model);
 
也可在后期使用setModel函数设定:
 
table.setModel(model);
 
JTable的所有元素操作可在DefaultTableModel中完成,例如:
加入一列元素:
model.addColumn("列名");
该函数还有一个重载,就是
model.addColumn("列名",Object[]);
可以将一个object数组以一列加入model中;
DefaultTableModel也支持逐行的加入,有两个函数重载:
addRow(Object[]),addRow(Vector);
函数会将数组或vector中的元素自动对应到column
 
修改表中元素:setValueAt(Object a,int row,int column);
删除一行:removeRow(int row);
 
这次做作业,遇到了几个问题,说下解决方法,估计都会遇到:
1.列名无法显示
 
如果直接将JTable加入一个container中,它的列名是不会显示的,必须将一个包含JTable的JScrollPane加入container,列名才会正确显示
使用方法:
 
DefaultTableModel model=new DefaultTableModel();
JTable table=new JTable(model);
this.getContentPane().add(new JScrollPane(table));
 
this是一个JFrame,或者其他container,如JPanel
 
2.当想用这块地方显示另一个表的内容时,已加入的列名无法删除
 
我曾经尝试在DefaultTableModel中寻找removeAll函数,失败了,最后,还是使用了比较无奈的方法...
new一个DefaultTableModel ,修改JTable的model绑定
示例:
table.removeAll();
DefaultTableModel model=new DefaultTableModel();
table.setModel(model);
model.addColumn("房间号");
model.addColumn("房间IP");

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值