禁用JTable的特定行

时间:2012-07-03 21:24:25

标签: java swing jtable

我想"灰色" JTable的特定行,以便不能以任何方式选择它们。其他行仍应可选。我该如何做到这一点?

3 个答案:

答案 0 :(得分:2)

您可以覆盖JTable.changeSelection()以便在选中时取消选择有问题的行,或者为您的表格提供自定义ListSelectionModel,其中您可以覆盖setSelectionInterval()addSelectionInterval()等。以防止首先选择行。

答案 1 :(得分:1)

您需要创建一个自定义TableCellRenderer,它将显示灰色的“已禁用”信息。有关如何创建这些渲染器的更多信息,请阅读Swing Table Tutorial,尤其是“概念:编辑器和渲染器”一节。

答案 2 :(得分:0)

创建一个临时TableModel,其中只包含您要选择的行。选择完成后以及要还原时,请更改回原始TableModel