爲JTable添加按列選擇功能

      用Swing的童鞋都知道,JTable在單擊某一列的首部時只能達成排序的效果,而不能以此選擇整列的內容。而用慣Excel表格的童鞋是否希望JTable能按列選擇呢?下面就做一個可以按列選擇的JTable。

      要向JTable中添加按列選擇功能,很簡單,只需完成下面兩個工作即可:

  1.       修改選擇方式。
  2.      添加一個鼠標監聽事件MouseListener。

      先看看代碼:

       只實現了JTable 中常用的構造方法,其他類推。JTable默認的是按行選擇,我們用17、19行代碼實現按列選擇並屏蔽按行選擇。接下來就是要捕獲對首部的鼠標單擊事件。JTableHeader不含addActionListener()方法,只能爲其添加一個MouseLinstener監聽器了並重寫它的mouseReleased()方法。

       25行判斷Shift鍵是否被按下,按下則是希望多選,把這一列添加到已選內容中;若未按下,則取消所有選擇,重新選。27行獲得當前單擊的是哪一列。28行獲得當前列搞定。

       測試類如下:

   

        效果如圖所示:

表格測試結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章