[英]How do i specify which class to call a method from
当我运行下面的代码时,在Slider类而不是ColorPanel类中调用fireEvent()
方法。 如何让它调用ColorPanel类中的fireEvent()
方法? (它们都扩展了具有该方法的EventComponent)
public class ColorPanel extends EventComponent<ColorChangeListener> {
public ColorPanel() {
...
add(new ValueSlider());
}
.................more Code
@Override
protected void fireEvent() {
for (ColorChangeListener l : listeners)
l.colorChanged(color);
}
private class ValueSlider extends Slider {
public ValueSlider() {
super(0, 200, 200, 200);
this.x = 10;
this.y = 220;
addListener(new ValueChangeListener() {
@Override
public void valueChanged(int value) {
colorCircle.setValue(value / 200f);
color = colorCircle.getSelectedColor();
fireEvent();
}
});
}
}
通过更改fireEvent();
将编译器指向正确的方法fireEvent();
到ColorPanel.this.fireEvent();
你应该像这样指定类:
ColorPanel.this.fireEvent();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.