您可以选择将它们设置为 css 以在触发不同事件时以编程方式更改/更新。我针对我的签入按钮将以下函数添加到 fxml 文件事件中。
@FXML
private void onHover(MouseEvent event)
{
if(btnCheckin.getText().contentEquals("Check Out"))
{
btnCheckin.setStyle("-fx-font-size: 20; -fx-font-weight: bold; -fx-padding: -5 -5 -5 -5; \n" +
" -fx-border-color: #e2e2e2;\n" +
" -fx-border-width: 2;\n" +
" -fx-border-radius: 5;\n" +
" -fx-background-radius: 5;\n" +
" -fx-background-color: #3a3a3a;\n" +
" -fx-font-family: \"Lato Bold\", Helvetica, Arial, sans-serif;\n" +
" -fx-text-fill: white;\n" +
" -fx-background-insets: 0 0 0 0, 0, 1, 2;");
}
}
@FXML
private void onExit(MouseEvent event)
{
if(btnCheckin.getText().contentEquals("Check Out"))
{
btnCheckin.setStyle("-fx-font-size: 20; -fx-font-weight: bold; -fx-padding: -5 -5 -5 -5; \n" +
" -fx-border-width: 2;\n" +
" -fx-border-radius: 5;\n" +
" -fx-background-radius: 5;\n" +
" -fx-font-family: \"Lato Bold\", Helvetica, Arial, sans-serif;\n" +
" -fx-text-fill: white;\n" +
" -fx-background-insets: 0 0 0 0, 0, 1, 2;\n" +
" -fx-background-color: #EE6559;\n" +
" -fx-border-color: #EE6559;");
}
}
@FXML
private void onPress(MouseEvent event)
{
if(btnCheckin.getText().contentEquals("Check Out"))
{
btnCheckin.setStyle("-fx-font-size: 20; -fx-font-weight: bold; -fx-padding: -5 -5 -5 -5; \n" +
" -fx-border-color: #e2e2e2;\n" +
" -fx-border-width: 2;\n" +
" -fx-border-radius: 5;\n" +
" -fx-background-radius: 5;\n" +
" -fx-background-color: white;\n" +
" -fx-font-family: \"Lato Bold\", Helvetica, Arial, sans-serif;\n" +
" -fx-text-fill: #1d1d1d;\n" +
" -fx-background-insets: 0 0 0 0, 0, 1, 2;");
}
}
@FXML
private void onRelease(MouseEvent event)
{
if(btnCheckin.getText().contentEquals("Check Out"))
{
onHover(event);
}
}