VBox com Botão, TableView e Label que não ocupa todo o espaço do Stage

Pessoal, tenho um Stage definido com 800 x 600. A Scene com o mesmo tamanho. Um VBox que vai na Scene
que contem um Botão, um TableView e um Label. Ocorre que ainda sobra um bom espaço abaixo do Label, que
é o ultimo element do VBox. Eu queria que o VBox ocupasse toda a area do Stage/Scene. Tentei definer o
tamanho do VBox como abaixo, mas o cenario não muda (continua um bom espaço vazio entre o fim do VBox e
o fim do Stage/Scene).

Usei o seguinte pra tentar “forçar” o tamanho vertical (altura) do VBox:

  VBox.setMinHeight(600);

Vcs conseguem ajudar? Grato.

Olá, talvez seu vbox esteja ocupando toda a tela mas você não está vendo, use o código abaixo para ver se seu vbox ocupa toda a área do Stage, se o stage ficar todo vermelho ele está ocupando (supondo que o vbox é o painel root do seu stage).

meuVbox.setStyle("-fx-background-color: red");

Caso o vbox estaja ocupando corretamete toda a área do Stage, seu problema pode ser somente uma questão de posicionamento dos componentes, nesse caso use o setAligment do seu Vbox para definir o posicionamento dos seus filhos.

meuVbox.setAlignment(Pos.CENTER);

De toda forma sem ver o código fica difícil adivinhar o problema. :no_mouth:

Andrauss, obrigado. Você ajudou a resolver mais este problema.
Inseri a instrução para colocar vermelho no fundo do VBox e, de fato, o VBox está
ocupando todo o Stage/Scene. Inclui tb a instrução para centralizar, mas a única mudança foi a
centralização (na horizontal) dos elementos (Botão, TableView e Label). O TableView continuava mostrando
apenas 16 rows. E o que eu queria é que o TableView ocupasse toda a area livre do Stage/Scene, o que implicaria em
mostrar algo como 22 ou 23 rows. Entendi então que a limitação, por algum motivo, estava no TableView e não
no VBox. Busquei no DOCs do TableView e vi a instrução “minhaTableView.setMinHeight(nnn)”. Isto resolveu o
problema. Muito obrigado novamente.

Olá, agora que entendi seu problema fica mais fácil ajudar. Você resolveu o problema pontualmente, entretanto se a janela for redimensionada a tabela não irá aumentar, pois seu tamanho é fixo. Existe uma forma mais eficiente de fazer o tableview ou qualquer outro componente ocupar o espaço restante, utilizando vgrow, veja abaixo como fazer no scene builder:

Para fazer via código:

VBox.setVgrow(minhaTabela, Priority.ALWAYS);

Andrauss, obrigado. Vou aplicar ao código. Grato.