我正在尝试使用该代码 https://stackoverflow.com/a/8187799但有一个变化:我将我的类扩展到 JTable,这样我完成后就可以用它做任何我想做的事情。然后,我只需要将 table
的出现替换为 this
即可。但在这部分代码中,它不起作用,因为我重写了一些方法:
headerTable.getColumnModel().getColumn(0).setCellRenderer(new TableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable x, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
boolean selected = getSelectionModel().isSelectedIndex(row);
Component component = getTableHeader().getDefaultRenderer().getTableCellRendererComponent(*this*, value, false, false, -1, -2);
((JLabel) component).setHorizontalAlignment(SwingConstants.CENTER);
if (selected) {
component.setFont(component.getFont().deriveFont(Font.BOLD));
component.setForeground(Color.red);
} else {
component.setFont(component.getFont().deriveFont(Font.PLAIN));
}
return component;
}
});
我怎样才能按照我的意图使用this
? (给我带来麻烦的 this
位于 *
之间)
最佳答案
您使用的 this 指的是 TableCellRenderer。
你必须使用
TopLevelClassName.this
关于java - "this"无法识别 - Java JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43208836/