我一直在尝试使用 JavaFX 中的缩放变换,但还没有完全理解它。基本上,我有一个包含复杂图形的窗格,并且希望能够重新调整它。缩放部分本身可以正常工作,但是封闭的滚动窗格不会适应图形。
为简单起见,我将发布一个简短的示例,其中我的图表被标签替换:
public class TestApp extends Application {
@Override public void start(final Stage stage) throws Exception {
final Label label = new Label("Hello World");
label.getTransforms().setAll(new Scale(0.5, 0.5));
label.setStyle("-fx-background-color:blue");
label.setFont(new Font(200));
final ScrollPane scrollPane = new ScrollPane();
scrollPane.setContent(label);
stage.setScene(new Scene(scrollPane));
stage.setWidth(200);
stage.setHeight(100);
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
标签将正确缩放,但封闭的滚动窗格的条仍将容纳原始大小的组件。
到目前为止我已经尝试过:
- 使用标签 min 和 pref size
- 将标签包装在组内(不会出现任何滚动条)
- 缩放封闭组而不是标签
我错过了什么?我该怎么做才能使 ScrollPane 适应内容视图?
谢谢你的帮助。