如何在按钮边界之外的释放上更改按钮的样式

时间:2016-08-04 20:18:59

标签: codenameone

我想这样做是为了按下一个按钮突出显示,按下时按钮突出显示(?)。现在我已经通过覆盖Button的子类中的被按下的函数来实现被按下的部分,并通过覆盖两个已释放的函数来释放已释放的部分。但是,我有一个问题,当你按下按钮,拖动鼠标并将其释放到按钮外,按钮保持高亮显示。我想通过覆盖dragFinished尝试做同样的事情,但这对我来说没有用,所以我正在寻找另一种方式。

@Override
public void pressed(){
    super.pressed();
        Style style = getParent().getStyle();
        style.setBorder(Border.createLineBorder(1, 1416152));
        updateParentStyle(style);
}

@Override
public void released(){
    super.released();
        Style style = getParent().getStyle();
        style.setBorder(Border.createEmpty());
        updateParentStyle(style);
}

1 个答案:

答案 0 :(得分:1)

你不需要这样做。

只需覆盖the theme中按钮的“按下”状态即可拥有不同的边框,这是“正确的方式”,或者通过样式执行您所做的操作:

myButton.getPressedStyle().setBorder(Border.createLineBorder(1, 1416152));
myButton.getUnselectedStyle().setBorder(Border.createEmpty());
myButton.getSelectedStyle().setBorder(Border.createEmpty());