2
@Override
public Component getTableCellRendererComponent(
        JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int col) {

    // *** here  *** 
    Component c = super.getTableCellRendererComponent(table, value, isSelected, 
               hasFocus, row, col); 

    // Formatting here
    return c;
}

示された行でエラーが発生します。「記号が見つからない」と書いてありますが、本当の問題が何なのかわかりません。


更新しました

@martinusadyh

クラスが大きすぎるので、ここに貼り付けることができません。

@ホバークラフトウナギだらけ

Netbeansのエラーは次のとおりです
http://i.stack.imgur.com/R4fv3.jpg

@Henery

私のクラスではありません。私はインターフェースメソッドを実装しているだけです。

4

2 に答える 2

3

そのクラスは私のものではありません。インターフェイスのメソッドを実装しているだけです。

次に、親クラスsuperObjectあり、メソッドはありませんgetTableCellRendererComponent。適切なクラスを拡張するか、存在しないメソッドを呼び出さずにうまくやっていく必要があります。

于 2011-11-05T15:16:30.513 に答える
2

extends DefaultTableCellRendererの代わりにする必要がありimplements TableCellRendererます。


:DefaultTableCellRendererそのメソッドgetTableCellRendererComponentは戻りますthissuper.getTableCellRendererComponent();これは、ローカル変数に代入せずに を呼び出すだけで十分であることを意味します。ローカル変数が等しいためですthis。私の説明は難しすぎるかもしれません: 例.

public class MyTableCellRenderer extends DefaultTableCellRenderer
{

    @Override
    public Component getTableCellRendererComponent(
            JTable table, Object value, boolean isSelected,
            boolean hasFocus, int row, int col) {

        super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col); 

        // Formatting here
        setIcon(myCustomIcon);
        setText(myCustomText);

        return this;
    }

}
于 2011-11-05T15:36:20.550 に答える