2014-01-07 49 views
0

要隱藏(使不可見)TableColumn來通常做:問題與複製值TableColumn的隱形

TableColumn.setMinWidth(0); 
TableColumn.setMaxWidth(0); 

或從與removeColumn方法(列)的模型中移除;

但是在運行時,我們需要讓列不可見或不可見,並且最終使用更加實用的setMinWidth(0)和setMaxWidth(0)

這是因爲,如果用戶選擇了錶行,然後按Ctrl鍵+ç到文本文件創建一個問題,它可以複製隱藏列的值!

我們可以使用TransferHandler來解決問題,以便不執行JComponent的CopyAction。 TableColumn如何不是JComponent不會解決這個問題。

另一種方法是定義:(JTable中不允許選擇行)

JTable.setRowSelectionAllowed(false) 

,因爲我需要保持行的許可選擇在表格中這最後的解決辦法不會對我是可行的。有沒有人有另一種解決方案來限制從所有列中複製值?

+0

爲了更好地提供幫助,請發佈[SSCCE](http://sscce.org/)。 –

回答

2

要隱藏(使不可見)TableColumn來常做的事:

TableColumn.setMinWidth(0); 
TableColumn.setMaxWidth(0); 
  • this isn't good way,大小爲零的打,這列不是hiddenonly有un_natural大小,仍然是入店所有鼠標&重要事件

  • 你必須removeColumn()來自JTable s vi ew

+0

感謝您的回覆 即使對於可見列,您是否知道會阻止複製操作? – user3168661