当行中的一个单元格获得焦点时,如何使整行有边框?
How can I make an entire row have a border when a cell in the row receives focus?
我有一个包含 4 列的 JTable
。每列都有自己的自定义单元格渲染器。当一个单元格获得焦点时,它会在其周围出现一个边框。我怎样才能让整行都有边框,而不仅仅是一个单元格?
I don't want each cell to have a border since the sides of the cell would have a border.
边框不需要占据组件的所有边。阅读 How to Use Borders 上的 Swing 教程部分以获取更多信息。您可以使用 MatteBorder
并指定应绘制边框的哪一侧。
所以你有两个选择:
- 为您的 table
中的每一列数据实施自定义渲染器
- 覆盖
JTable
的 prepareRenderer(...)
方法以在行级别设置边框,因此您不需要单独的渲染器。查看 Table Row Renderering 以获取执行此操作的工作示例。
我有一个包含 4 列的 JTable
。每列都有自己的自定义单元格渲染器。当一个单元格获得焦点时,它会在其周围出现一个边框。我怎样才能让整行都有边框,而不仅仅是一个单元格?
I don't want each cell to have a border since the sides of the cell would have a border.
边框不需要占据组件的所有边。阅读 How to Use Borders 上的 Swing 教程部分以获取更多信息。您可以使用 MatteBorder
并指定应绘制边框的哪一侧。
所以你有两个选择:
- 为您的 table 中的每一列数据实施自定义渲染器
- 覆盖
JTable
的prepareRenderer(...)
方法以在行级别设置边框,因此您不需要单独的渲染器。查看 Table Row Renderering 以获取执行此操作的工作示例。