This commit is contained in:
huangyuhui
2018-06-06 19:45:39 +08:00
parent 27c4a68a13
commit 2575f10497
5 changed files with 8 additions and 10 deletions

View File

@@ -204,12 +204,6 @@ public final class FXUtils {
Lang.invoke((ExceptionalSupplier<Object, IOException>) loader::load); Lang.invoke((ExceptionalSupplier<Object, IOException>) loader::load);
} }
public static void resetChildren(JFXMasonryPane pane, List<Node> children) {
// Fixes mis-repositioning.
ReflectionHelper.setFieldContent(JFXMasonryPane.class, pane, "oldBoxes", null);
pane.getChildren().setAll(children);
}
public static void installTooltip(Node node, String tooltip) { public static void installTooltip(Node node, String tooltip) {
installTooltip(node, 0, 5000, 0, new Tooltip(tooltip)); installTooltip(node, 0, 5000, 0, new Tooltip(tooltip));
} }

View File

@@ -23,6 +23,7 @@ import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty; import javafx.beans.property.StringProperty;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.Node; import javafx.scene.Node;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.input.MouseButton; import javafx.scene.input.MouseButton;
import javafx.scene.layout.Region; import javafx.scene.layout.Region;
@@ -75,6 +76,8 @@ public final class MainPage extends StackPane implements DecoratorPage {
private JFXSpinner spinner; private JFXSpinner spinner;
@FXML @FXML
private JFXMasonryPane masonryPane; private JFXMasonryPane masonryPane;
@FXML
private ScrollPane scrollPane;
{ {
FXUtils.loadFXML(this, "/assets/fxml/main.fxml"); FXUtils.loadFXML(this, "/assets/fxml/main.fxml");
@@ -221,7 +224,7 @@ public final class MainPage extends StackPane implements DecoratorPage {
private void loadingVersions() { private void loadingVersions() {
getChildren().setAll(spinner); getChildren().setAll(spinner);
FXUtils.resetChildren(masonryPane, Collections.emptyList()); masonryPane.getChildren().clear();
} }
private void loadVersions(HMCLGameRepository repository) { private void loadVersions(HMCLGameRepository repository) {
@@ -231,8 +234,8 @@ public final class MainPage extends StackPane implements DecoratorPage {
} }
JFXUtilities.runInFX(() -> { JFXUtilities.runInFX(() -> {
if (profile == repository.getProfile()) { if (profile == repository.getProfile()) {
masonryPane.getChildren().setAll(children);
getChildren().setAll(contentPane); getChildren().setAll(contentPane);
FXUtils.resetChildren(masonryPane, children);
} }
}); });
} }

View File

@@ -12,7 +12,7 @@
xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1"> xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1">
<JFXSpinner fx:id="spinner" styleClass="first-spinner" /> <JFXSpinner fx:id="spinner" styleClass="first-spinner" />
<StackPane fx:id="contentPane"> <StackPane fx:id="contentPane">
<ScrollPane fitToHeight="true" fitToWidth="true" fx:id="scrollPane" hbarPolicy="NEVER"> <ScrollPane fitToWidth="true" fx:id="scrollPane" hbarPolicy="NEVER">
<JFXMasonryPane fx:id="masonryPane" HSpacing="3" VSpacing="3" cellWidth="182" cellHeight="160"> <JFXMasonryPane fx:id="masonryPane" HSpacing="3" VSpacing="3" cellWidth="182" cellHeight="160">
</JFXMasonryPane> </JFXMasonryPane>
</ScrollPane> </ScrollPane>

View File

@@ -1,5 +1,6 @@
#Wed Jun 06 15:09:11 CST 2018
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.5.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip

Binary file not shown.