Java - Доступ к информации о компонентах - PullRequest
0 голосов
/ 08 мая 2018

Итак, у меня есть этот класс:

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);
    }
}

Как мне получить доступ к информации этого домена? Например:

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

Есть ли способ доступа к информации внутри класса настроек, как у меня есть эта настройка? Я хотел бы, чтобы этот класс принимал различные типы компонентов, поэтому простая установка его в JSlider не сделает это для меня. Заранее спасибо.

1 Ответ

0 голосов
/ 09 мая 2018

Если вы знаете, что это 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...