繁体   English   中英

如何指定从哪个类调用方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM