Julian Neuberger
Julian Neuberger

Reputation: 97

Disable automatic resizing, without disabling manual resizing

Coding a GUI in a Java project I've encountered a problem with JavaFX. I've not found any soulutions for my specific problem, so here I am:)

Is it possible to let a JavaFX scene be resizeable by the user and at the same time have it not resized by child nodes, that are bigger, than the window?

Here is some sample code:

@Override
public void startGUI(int width, int height) {
    this.main = new MainWindow(this, this.logic);
    this.scene = new Scene(this.main.getRoot());
    this.main.setScene(this.scene);
    this.primaryStage.setScene(this.scene);
    this.primaryStage.setMinHeight(height);
    this.primaryStage.setMinWidth(width);
}

The 'MainWindow' has got a childnode, that can be very big (>1024x768). I want the window not to be resized by this node, but at the same time, the user should be able to resize the window by dragging its borders.

Upvotes: 1

Views: 1729

Answers (1)

jewelsea
jewelsea

Reputation: 159291

Use a Scene constructor which specifies initial size constraints.

For example:

Scene scene = new Scene(root, 600, 400);

That way the initial size of the Scene will be taken from these constraints rather than calculated from the preferred size of the root node.

Upvotes: 2

Related Questions