我想这样做是为了按下一个按钮突出显示,按下时按钮突出显示(?)。现在我已经通过覆盖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);
}
答案 0 :(得分:1)
你不需要这样做。
只需覆盖the theme中按钮的“按下”状态即可拥有不同的边框,这是“正确的方式”,或者通过样式执行您所做的操作:
myButton.getPressedStyle().setBorder(Border.createLineBorder(1, 1416152));
myButton.getUnselectedStyle().setBorder(Border.createEmpty());
myButton.getSelectedStyle().setBorder(Border.createEmpty());