“this”is not recognized - Java JTable
问题描述:
我试图使用该代码https://*.com/a/8187799但有一个变化:我将我的类扩展为JTable,以便在完成后我可以随心所欲地执行任何操作。然后,我只需要将table
的出现次数替换为this
。但在这部分代码,这是行不通的,因为我重写了一些方法:“this”is not recognized - Java JTable
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
是*
)
答
您正在使用的这个指的是TableCellRenderer。
你必须使用
TopLevelClassName.this
感谢,这正是我一直在寻找。我会在10分钟内接受你的回答(不知道是否有延迟接受答案)。 – pioupiou1211