首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX画布尺寸( Pane )

JavaFX画布尺寸( Pane )
EN

Stack Overflow用户
提问于 2016-06-26 13:59:38
回答 1查看 3.3K关注 0票数 0

我刚刚开始使用JavaFX,似乎无法解决这个问题。我的画布似乎没有填满他们可用的全部空间。我给我的画布设定了一个尺寸,它们确实有这个尺寸,但是它周围的窗格变大了。这将导致右侧和窗格底部出现白色边框。

我的代码:

代码语言:javascript
复制
@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("ShellShock");
    primaryStage.setResizable(false);

    final Dimension SCREEN_SIZE = Toolkit.getDefaultToolkit().getScreenSize();

    Screen screen = new Screen(SCREEN_SIZE.getWidth() * 0.9, SCREEN_SIZE.getHeight() * 0.9);

    Scene scene = new Scene(screen);

    primaryStage.setScene(scene);
    primaryStage.show();
}

屏幕类:

代码语言:javascript
复制
public class Screen extends Pane {

private Canvas[] canvases;

public Screen(double width, double height) {
    this.setPrefSize(width, height);

    this.canvases = new Canvas[2];

    Canvas background = new Canvas(width, height);
    GraphicsContext gcb = background.getGraphicsContext2D();
    gcb.setFill(new LinearGradient(0, 0, 0, 1, true, CycleMethod.REFLECT, new Stop(0.4, Color.BLUE.darker()),
            new Stop(1.0, Color.BLUE.brighter().brighter())));
    gcb.fillRect(0, 0, width, height);
    Canvas foreground = new Canvas(width, height);

    this.canvases[0] = background;
    this.canvases[1] = foreground;

    this.getChildren().add(background);
    this.getChildren().add(foreground);
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-26 21:01:18

删除setResizable(false);行似乎解决了这个问题。

同时,将primaryStage.sizeToScene();放在setResizable(false)之后似乎解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38039236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档