复制值TableColumn的问题不可见

时间:2014-01-07 10:32:32

标签: java swing jtable tablecolumn

隐藏(隐藏)TableColumns通常会执行:

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

或使用removeColumn方法(列)从模型中删除;

但是在运行时我们需要保留列不可见或可见,并且最终使用 setMinWidth(0)和setMaxWidth(0)更实用。

这会产生问题,因为如果用户选择一个表格行并按 Ctrl + C 并将粘贴它放入文本文件中,可以复制隐藏列的值!!!

我们可以使用TransferHandler来解决问题,而不是执行JComponent的CopyAction。 TableColumn不是JComponent的方式也不会解决这个问题。

另一种选择是定义:( JTable禁止选择线)

JTable.setRowSelectionAllowed(false)

这个最后的解决方案对我来说是不可行的,因为我需要在表中保留行的许可选择。有没有人有另一种解决方案来限制从所有列复制值?

1 个答案:

答案 0 :(得分:2)

  

隐藏(隐藏)TableColumns通常会执行:

TableColumn.setMinWidth(0);
TableColumn.setMaxWidth(0);
  • this isn't good way,播放零大小,此列不是隐藏的,具有un_natural大小,仍然可以访问所有鼠标&关键事件

  • 您必须removeColumn() JTable视图