diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java index 9c237a7bd..ba14e1f66 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java @@ -18,6 +18,7 @@ package org.jackhuang.hmcl.ui; import com.jfoenix.controls.JFXButton; +import com.jfoenix.controls.JFXRippler; import javafx.beans.Observable; import javafx.beans.binding.Bindings; import javafx.beans.property.ObjectProperty; @@ -335,6 +336,7 @@ public class InstallerItem extends Control { } pane.getStyleClass().add("installer-item"); RipplerContainer container = new RipplerContainer(pane); + container.setPosition(JFXRippler.RipplerPos.FRONT); getChildren().setAll(container); pane.pseudoClassStateChanged(LIST_ITEM, control.style == Style.LIST_ITEM); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java index 806be70ab..90016dc59 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/RipplerContainer.java @@ -144,12 +144,20 @@ public class RipplerContainer extends StackPane { } protected void updateChildren() { - getChildren().addAll(buttonContainer, getContainer()); + if (buttonRippler.getPosition() == JFXRippler.RipplerPos.BACK) + getChildren().setAll(buttonContainer, getContainer()); + else + getChildren().setAll(getContainer(), buttonContainer); for (int i = 1; i < getChildren().size(); ++i) getChildren().get(i).setPickOnBounds(false); } + public void setPosition(JFXRippler.RipplerPos pos) { + buttonRippler.setPosition(pos); + updateChildren(); + } + public Node getContainer() { return container.get(); }