Css 如何切换希望在JavaFXML按钮中看到的图像文件?

Css 如何切换希望在JavaFXML按钮中看到的图像文件?,css,javafx,Css,Javafx,我试图在两种状态之间切换按钮。一种状态是显示 红色圆圈的图像,另一个状态是蓝色圆圈的图像。当用户单击按钮时,它应该在两种状态之间切换。我已经准备好了 在我的css中设置样式以适应按钮: #button-debit { -fx-background-image: url("images/redButton.jpg"); } #button-credit { -fx-background-image: url("images/blueButton.png"); } 为了

我试图在两种状态之间切换按钮。一种状态是显示 红色圆圈的图像,另一个状态是蓝色圆圈的图像。当用户单击按钮时,它应该在两种状态之间切换。我已经准备好了 在我的css中设置样式以适应按钮:

#button-debit {
    -fx-background-image: url("images/redButton.jpg");     
}

#button-credit {
    -fx-background-image: url("images/blueButton.png");
}
为了验证这是否有效,我尝试通过以下操作将红色转换为蓝色:

@FXML
  private void handledborcrBtn() {
    dborcrBtn.setId("button-credit");
  }
然而,结果并不像预期的那样。红色按钮图像保持不变,蓝色按钮图像位于其下方,但蓝色按钮图像被分成几个部分


我想我记得javax Swing中有一个“重新绘制”方法,但JavaFXML似乎更复杂,我很难让它正常工作。

用Toogleboton试试

.toggle-button {
  -fx-graphic: url('icons.jpg');
}

.toggle-button:selected {
  -fx-graphic: url('othericon.png');
}
为什么不切换按钮的图形属性?