在我的java应用程序中,我希望设置颜色,以及选择它时的行为。为此,我编写了TableCellRenderer的自定义实现,它可以按我的意愿工作。但有件事我还是很困惑.
下面是TableCellRenderer的实现
public class AccountMovementTableCellRenderer extends JLabel implements TableCellRenderer{
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
//My implementation here...
return this;
}
}在这里,JTable的创建
AccountMovementTableCellRenderer accountMovementCellRenderer = new AccountMovementTableCellRenderer();
entryTable = new JTable(entryModel){
private static final long serialVersionUID = 1L;
@Override
public TableCellRenderer getCellRenderer(int row, int column){
return accountMovementCellRenderer;
}
};我只创建了我的CellRenderer的一个实例,但我期望每个单元格只有一个CellRenderer,我很惊讶它是这样工作的…每个单元格的内容和颜色是不同的,但是它总是使用相同的CellRenderer实例,那么这怎么能工作呢?
发布于 2016-08-25 20:14:54
单个呈现器实例为每个单元创建自己的唯一映像,每个图像根据上面的代码反映该单元格的状态。
https://stackoverflow.com/questions/39153879
复制相似问题