1
Q
可折叠设置面板
A
回答
3
假设“设置”按钮导致拆分窗格右侧的窗格出现/消失,可以通过调用SplitPane.setDividerPositions(...);
以编程方式控制该窗格。
一个简单的例子:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
import javafx.scene.control.TitledPane;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class SplitPaneToggleTest extends Application {
@Override
public void start(Stage primaryStage) {
ToggleButton settings = new ToggleButton("Settings");
SplitPane splitPane = new SplitPane();
TitledPane titledPane = new TitledPane("Options", new Label("An option"));
VBox settingsPane = new VBox(titledPane);
settingsPane.setMinWidth(0);
splitPane.getItems().addAll(new BorderPane(new Label("Main content")), settingsPane);
DoubleProperty splitPaneDividerPosition = splitPane.getDividers().get(0).positionProperty();
//update toggle button status if user moves divider:
splitPaneDividerPosition.addListener((obs, oldPos, newPos) ->
settings.setSelected(newPos.doubleValue() < 0.95));
splitPaneDividerPosition.set(0.8);
settings.setOnAction(event -> {
if (settings.isSelected()) {
splitPane.setDividerPositions(0.8);
} else {
splitPane.setDividerPositions(1.0);
}
});
BorderPane root = new BorderPane(splitPane, new HBox(settings), null, null, null);
Scene scene = new Scene(root, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
你甚至可以动画显示/隐藏设置:
settings.setOnAction(event -> {
KeyValue end ;
if (settings.isSelected()) {
end = new KeyValue(splitPaneDividerPosition, 0.8);
} else {
end = new KeyValue(splitPaneDividerPosition, 1.0);
}
new Timeline(new KeyFrame(Duration.seconds(0.5), end)).play();
});
相关问题
- 1. 可折叠面板/ primefaces
- 2. jQuery的可折叠面板
- 3. Flex可折叠面板?
- 4. CSS3可折叠面板
- 5. Offcent Bootstrap可折叠面板
- 6. JQuery可折叠面板
- 7. AJAX可折叠面板HTML
- 8. 可折叠面板内的Spry可折叠面板,不一致的错误
- 9. .Net可折叠面板或可折叠链接控件
- 10. 折叠侧面板
- 11. Bootstrap可折叠面板不能在另一个面板开口上折叠
- 12. 如何设置slidingpanel默认状态折叠和折叠面板最小高度?
- 13. 垂直可折叠面板 - 显示已加载折叠
- 14. 在ExtJs中隐藏可折叠面板的折叠图标
- 15. DomHelper创建新的可折叠面板
- 16. Flex手机:可折叠面板
- 17. 可折叠面板+按钮问题
- 18. 主面板中的可折叠输出
- 19. GridView中的可折叠面板
- 20. 可折叠侧面板控制
- 21. HTML/CSS中的可折叠面板
- 22. Rstudio闪亮可折叠侧面板
- 23. 可折叠面板不扩展
- 24. JQuery可折叠面板一起工作
- 25. 可折叠面板获取状态
- 26. ASP.net中的可折叠面板
- 27. jquery mobile可折叠面板选择器
- 28. 可折叠面板 - MVC3 - 剃须刀
- 29. 无法折叠面板
- 30. SAPUI5面板折叠/展开