|
22 | 22 | import javafx.beans.binding.Bindings; |
23 | 23 | import javafx.beans.property.ObjectProperty; |
24 | 24 | import javafx.beans.property.SimpleObjectProperty; |
| 25 | +import javafx.beans.value.ChangeListener; |
25 | 26 | import javafx.css.PseudoClass; |
26 | 27 | import javafx.geometry.Insets; |
27 | 28 | import javafx.geometry.Pos; |
@@ -312,17 +313,24 @@ public InstallerItem[] getLibraries() { |
312 | 313 | private static final class InstallerItemSkin extends SkinBase<InstallerItem> { |
313 | 314 | private static final PseudoClass LIST_ITEM = PseudoClass.getPseudoClass("list-item"); |
314 | 315 | private static final PseudoClass CARD = PseudoClass.getPseudoClass("card"); |
315 | | - private static final WeakListenerHolder holder = new WeakListenerHolder(); |
| 316 | + |
| 317 | + @SuppressWarnings({"FieldCanBeLocal", "unused"}) |
| 318 | + private final ChangeListener<Number> holder; |
316 | 319 |
|
317 | 320 | InstallerItemSkin(InstallerItem control) { |
318 | 321 | super(control); |
319 | 322 |
|
320 | 323 | Pane pane; |
321 | 324 | if (control.style == Style.CARD) { |
322 | 325 | pane = new VBox(); |
323 | | - holder.add(FXUtils.onWeakChange(pane.widthProperty(), v -> FXUtils.setLimitHeight(pane, v.doubleValue() * 0.7))); |
| 326 | + |
| 327 | + if (FXUtils.JAVAFX_MAJOR_VERSION == 8) |
| 328 | + holder = FXUtils.onWeakChange(pane.widthProperty(), v -> FXUtils.setLimitHeight(pane, v.doubleValue() * 0.7)); |
| 329 | + else |
| 330 | + holder = FXUtils.onWeakChangeAndOperate(pane.widthProperty(), v -> FXUtils.setLimitHeight(pane, v.doubleValue() * 0.7)); |
324 | 331 | } else { |
325 | 332 | pane = new HBox(); |
| 333 | + holder = null; |
326 | 334 | } |
327 | 335 | pane.getStyleClass().add("installer-item"); |
328 | 336 | RipplerContainer container = new RipplerContainer(pane); |
|
0 commit comments