Super不会在Java中调用重写的方法

时间:2014-09-12 17:41:17

标签: java polymorphism

我有一个名为Circle的Java类,它扩展了JPanel。它只是在屏幕上画一个圆圈。它有一个字段半径r和一个方法setRadius来更改该值并重新绘制。我还有一个名为ResizableCirle的类,方法resize()调用setRadius方法。 resize()也是JComponent的一种方法,因此它被覆盖。

当我尝试使用resize()更改带有ActionListener的圆圈时,这样:

@Override
public void stateChanged(ChangeEvent ce) {
    JSlider source = (JSlider)ce.getSource();
    if (!source.getValueIsAdjusting()) {
        circle.resize((int)source.getValue());

        repaint();
        }
    }
} 

我收到以下错误incompatible types: int cannot be converted to Dimension。 dimension是JComponent的resize()参数。为什么不调用我的resize()方法?

我尝试使用super,但后来说找不到符号。

0 个答案:

没有答案