为JTable添加按列选择功能

      用Swing的童鞋都知道,JTable在单击某一列的首部时只能达成排序的效果,而不能以此选择整列的内容。而用惯Excel表格的童鞋是否希望JTable能按列选择呢?下面就做一个可以按列选择的JTable。

      要向JTable中添加按列选择功能,很简单,只需完成下面两个工作即可:

  1.       修改选择方式。
  2.      添加一个鼠标监听事件MouseListener。

      先看看代码:

       只实现了JTable 中常用的构造方法,其他类推。JTable默认的是按行选择,我们用17、19行代码实现按列选择并屏蔽按行选择。接下来就是要捕获对首部的鼠标单击事件。JTableHeader不含addActionListener()方法,只能为其添加一个MouseLinstener监听器了并重写它的mouseReleased()方法。

       25行判断Shift键是否被按下,按下则是希望多选,把这一列添加到已选内容中;若未按下,则取消所有选择,重新选。27行获得当前单击的是哪一列。28行获得当前列搞定。

       测试类如下:

   

        效果如图所示:

表格测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值