Java 如何以编程方式更改滑块的值?(LibGDX)

Java 如何以编程方式更改滑块的值?(LibGDX),java,libgdx,slider,desktop-application,Java,Libgdx,Slider,Desktop Application,我想我遗漏了一些明显的东西,但我似乎无法通过编程更改滑块(Scene2D.ui)的值。 我之所以要这样做,是因为我有一个可以用滑块自定义的角色,但我想有一些预设角色,可以作为自定义的起点 到目前为止,我得到的是这样的东西: (ChangeListener)(slider.getListeners().get(0))但我无法调用在滑块更改时调用的changed(ChangeEvent事件,Actor-Actor)方法。可以使用slider的设置值(float value)方法以编程方式更改滑块的值

我想我遗漏了一些明显的东西,但我似乎无法通过编程更改滑块(Scene2D.ui)的值。 我之所以要这样做,是因为我有一个可以用滑块自定义的角色,但我想有一些预设角色,可以作为自定义的起点

到目前为止,我得到的是这样的东西:

(ChangeListener)(slider.getListeners().get(0))
但我无法调用在滑块更改时调用的
changed(ChangeEvent事件,Actor-Actor)
方法。

可以使用
slider的
设置值(float value)
方法以编程方式更改滑块的值

public class GdxTest extends ApplicationAdapter {

    Stage stage;
    Slider slider;

    @Override
    public void create() {

        stage=new Stage();
        Gdx.input.setInputProcessor(stage);
        Skin skin=new Skin(Gdx.files.internal("skin/glassy-ui.json"));

        Table table=new Table();
        table.setFillParent(true);

        stage.addActor(table);
        table.add(slider=new Slider(0,100,1,false,skin));

        slider.setValue(50);   // value changed by 50%
    }

    ...
}

您需要包装强制转换:
((ChangeListener)slider.getListeners().get(0)).change
是否尝试调用progressBar.setValue?