修复 AdvancedListBox 在非必要的情况下显示滚动条的问题 (#4514)
Co-authored-by: Glavo <zjx001202@gmail.com>
This commit is contained in:
@@ -20,6 +20,7 @@ package org.jackhuang.hmcl.ui.construct;
|
|||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.ScrollPane;
|
import javafx.scene.control.ScrollPane;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
@@ -40,8 +41,16 @@ public class AdvancedListBox extends ScrollPane {
|
|||||||
setFitToHeight(true);
|
setFitToHeight(true);
|
||||||
setFitToWidth(true);
|
setFitToWidth(true);
|
||||||
setHbarPolicy(ScrollBarPolicy.NEVER);
|
setHbarPolicy(ScrollBarPolicy.NEVER);
|
||||||
|
setVbarPolicy(ScrollBarPolicy.NEVER);
|
||||||
|
|
||||||
container.getStyleClass().add("advanced-list-box-content");
|
container.getStyleClass().add("advanced-list-box-content");
|
||||||
|
|
||||||
|
this.addEventFilter(MouseEvent.MOUSE_ENTERED, event -> {
|
||||||
|
if (container.getHeight() > getHeight())
|
||||||
|
setVbarPolicy(ScrollBarPolicy.AS_NEEDED);
|
||||||
|
});
|
||||||
|
this.addEventFilter(MouseEvent.MOUSE_EXITED,
|
||||||
|
event -> setVbarPolicy(ScrollBarPolicy.NEVER));
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdvancedListBox add(Node child) {
|
public AdvancedListBox add(Node child) {
|
||||||
|
|||||||
Reference in New Issue
Block a user