所以我有这个课:

public class setting{
    JLabel label;
    Component main;
    JButton set, reset;

    setting(String s, Component b){
        this.label = new JLabel(s);
        this.main = b;
        this.set = new JButton("Set");
        this.reset = new JButton("Reset");
    }

    public void add(JPanel b) {
        b.add(this.label);
        b.add(this.main);
        b.add(this.set);
        b.add(this.reset);
    }
}


我将如何访问this.main的信息?例如:

JSlider speed = new JSlider(0, 80); speed.setValue(0);
setting speedSett = new setting("speed", speed);
speedSett.main.getValue(); //This doesn't work


无论如何,有没有像我这样设置的方法来访问设置类内部的信息?我希望此类接受不同类型的组件,因此仅将其设置为JSlider不会对我有用。
先感谢您。

最佳答案

如果您知道它是JSlider,则将其转换并使用:

JSlider speed = new JSlider(0, 80); speed.setValue(0);
setting speedSett = new setting("speed", speed);
if (speeSett.getMain() instanceof JSlider) {
  JSlider slider = (JSlider) speedSett.getMain(); // Recommend to access from getter instead of direct access
  slider.getValue();
}

10-05 20:58
查看更多