1

我叫哈维尔,来自西班牙

首先,为我的经验不足和我的英语道歉:)

无论如何,这是一个问题:

我正在寻找 Apache Pivot 中的按钮状态。我试过很多听众,但没有结果。我没有找到任何“状态”、“价值”或类似的属性。

我发现的最接近的是:

    //Intercepta los eventos de toggleButton
    BotonGenerico.getButtonStateListeners() .add(new ButtonStateListener() {                  

        @Override
        public void stateChanged(Button button, State previousState) {
            System.out.println("Changed!");
        }
    });

但似乎不起作用。

谢谢

4

1 回答 1

0

如果有人感兴趣,我会在研究这个问题后回答自己:

在 Apache Pivot 中没有这样的称为“切换按钮”的控件。取而代之的是,我可以使用名为“按钮”的控件。

就我而言,“BotonGenerico”可以转换为 ToggleButton,仅通过 setToggleButton 更改 toggleButton 属性:

BotonGenerico.setToggleButton(true); 

在此之后,我可以通过 getState 和 setState 查看或更改它的状态:

BotonGenerico.setState(State.SELECTED);
BotonGenerico.getState(); 
//State can be State.SELECTED, State.UNSELECTED or State.MIXED

在许多情况下,我们必须使用“组件”,而不是“按钮”(在某些事件中如 mouseMove、mouseOut.focusedChanged...)。将提到的“组件”转换为按钮,只是为了操纵。

样本:

//Changes PushButton background color when focus changed
@Override
public void focusedChanged(Component component, Component obverseComponent) {
//casting component and obverseComponent in order to convert it in PushButtons
PushButton botonComponent=(PushButton) component;
PushButton botonObverseComponent=(PushButton) obverseComponent;

    if (botonComponent.isToggleButton()) {                        
        if (botonComponent.getState() != State.SELECTED) {
            System.out.println("Selected");
            botonComponent.getStyles().put("backgroundColor", #000000);
        }
    }
}

希望这可以帮助。

于 2013-12-03T13:09:53.237 回答