[英]JTable coloring specific gridline in Java
我有这个8x8表格,并且我想用红色为表格最顶部的第一个和第二个单元格的网格上色。 我的问题可以做到吗?
编辑 :我删除了此,因为我认为这不是OP想要的。 我应OP的要求将其删除。
我有这个8x8表格,并且我想用红色为表格最顶部的第一个和第二个单元格的网格上色。 我的问题可以做到吗?
当然是。
一种方法是扩展现有的渲染器并重写getTableCellRendererComponent方法。
例如:
public class GridlineCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent (
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column
) {
final Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if ( row == 0 && (column == 0 || column ==1 ) {
cell.setBackground( Color.RED );
}
return cell;
}
}
然后,您需要警告JTable,您想将此渲染器用于某些类型的数据。
例如,如果您想将其用于包含Integer的单元格,则应该可以进行以下操作:
JTable myJTable = ...
myJTable.setDefaultRenderer(Integer.class, new GridlineCellRenderer() );
因为您只想根据位置而不是类型来影响某些单元格,所以请覆盖prepareRenderer()
并为所需单元格返回一个带有红色Border
的组件。 另请参阅如何使用表 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.