JavaFX - TreeView não redimensiona

0 respostas
ERVER

Bom dia pessoas,

Estou fazendo uma tela aqui com JavaFX, contendo um GridPanel de duas colulas como container, e dentro de uma das colunas deste GridPane, um outro GridPane com uma coluna e oito linhas, que por sua vez recebe alguns ComboBox, TextFields e por fim o TreeView que apresenta problema.
Inicio a aplicação com a tela maximizada, e tudo ocorre bem. Porém, quando minimizo a janela, o TreeView não é redimensionado da forma que eu queria, ficando um bom pedaço da sua parte inferior escondida (dá pra se notar pela ausência da linha da base dele).

Tentei de todas as formas fazer com que ele redimensione. Tentei usar a porcentagem de cada linha desse GridPane, também passar um tamanho mínimo e máximo para a TreeView, e não obtive sucesso.

Vou postar o código logo abaixo, tanto do FXML quando do controller e a classe principal.

FXML.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.canvas.*?>
<?import javafx.scene.image.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<GridPane fx:id="mainPane" hgap="5" prefHeight="680.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="test3.FXMLController">
    <columnConstraints>
        <ColumnConstraints percentWidth="17" />
        <ColumnConstraints percentWidth="83" /> 
    </columnConstraints>    
    <padding> 
        <javafx.geometry.Insets bottom="25" left="25" right="25" top="25" /> 
    </padding>
    <children>
        <TabPane tabClosingPolicy="UNAVAILABLE" GridPane.columnIndex="0" GridPane.rowIndex="0" maxWidth="320" minWidth="180">
            <tabs>
                <Tab text="Pesquisa">
                    <content>   
                        <GridPane vgap="5">
                           <children> 
                               <Label text="Pesquisar por" GridPane.columnIndex="0" GridPane.rowIndex="0" />
                               <ComboBox prefHeight="22.0" prefWidth="169.0" promptText="Nome" GridPane.columnIndex="0" GridPane.rowIndex="1" />
                               <Label text="do" GridPane.columnIndex="0" GridPane.rowIndex="2" />
                               <ComboBox prefHeight="22.0" prefWidth="169.0" promptText="Vendedor" GridPane.columnIndex="0" GridPane.rowIndex="3" />
                               <TextField fx:id="valorPesquisado" prefHeight="23.0" prefWidth="168.0" GridPane.columnIndex="0" GridPane.rowIndex="4" />
                               <Button mnemonicParsing="false" onAction="#pesquisar" text="Pesquisar" GridPane.columnIndex="0" GridPane.rowIndex="5" />
                               <Label text="Resultados" GridPane.columnIndex="0" GridPane.rowIndex="6" />
                               <TreeView minWidth="150" prefWidth="320.0" GridPane.columnIndex="0" GridPane.rowIndex="7" prefHeight="410.0"  >
                                  <root>
                                      <TreeItem value="Resultado 1">
                                          <children>
                                              <TreeItem>
                                                  <value>
                                                      <CheckBox id="checkBox1" prefWidth="180.0" text="ONE" />
                                                  </value>
                                              </TreeItem>
                                              <TreeItem>
                                                  <value>
                                                      <CheckBox id="checkBox2" prefWidth="180.0" text="TWO" />
                                                  </value>
                                              </TreeItem>
                                              <TreeItem>
                                                  <value>
                                                      <CheckBox id="checkBox3" prefWidth="180.0" text="THREE" />
                                                  </value>
                                              </TreeItem>
                                          </children>
                                      </TreeItem>
                                  </root>
                               </TreeView>
                           </children>
                            <columnConstraints>
                                <ColumnConstraints halignment="LEFT" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="LEFT" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="RIGHT" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="LEFT" hgrow="SOMETIMES" /> 
                                <ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" /> 
                            </columnConstraints>
                            <rowConstraints>
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="3" valignment="CENTER" vgrow="SOMETIMES" /> 
                                <RowConstraints percentHeight="79" valignment="CENTER" vgrow="SOMETIMES" /> 
                            </rowConstraints>
                        </GridPane>        
                    </content>
                </Tab>
                <Tab text="Indexacao">
                    <content>
                        
                    </content>
                </Tab>
            </tabs>
        </TabPane>         
        <ScrollPane fx:id="scrollPane" maxWidth="1200" minWidth="750" prefWidth="1200" GridPane.columnIndex="1" GridPane.rowIndex="0">
            <content>      
                <AnchorPane fx:id="pdfPane">
                    <children>                 
                        <Rectangle fx:id="rectangle" fill="LIGHTGREY" strokeType="INSIDE" width="1075.0" />
                        <ImageView fx:id="imageView" preserveRatio="true" />
                    </children>
                </AnchorPane>     
            </content>
        </ScrollPane>         
    </children>
</GridPane>

FXMLController.java

/*
package test3;

import com.qoppa.pdf.PDFException;
import com.qoppa.pdfImages.PDFImages;
import com.sun.glass.events.MouseEvent;
import java.awt.image.BufferedImage;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.embed.swing.SwingFXUtils;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.image.ImageView;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.shape.Rectangle;

public class FXMLController implements Initializable {

    @FXML
    public void pesquisar(ActionEvent event) throws PDFException {

    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {

    }  

}

Main.java

package test3;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {

        GridPane root = null;
        try {
            root = FXMLLoader.load(Main.class.getResource("FXML.fxml"));
        } catch (IOException ex) {

            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            System.exit(-1);
        }

        
        primaryStage.setScene(new Scene(root, 1150, 620));
        primaryStage.setMaximized(true);
        primaryStage.setMinWidth(1150);
        primaryStage.centerOnScreen();
        primaryStage.setTitle("Title");
        primaryStage.show();

    }

    public static void main(String[] args) {
        launch(args);
    }

}

Se alguém tiver alguma ideia de como resolver esse redimensionamento, ficarei muito grato.
Muito obrigado desde já, abraços!

PS: o Controller ainda está vazio porque ainda estou fazendo a tela primeiro. Se não fui claro em algo, podem perguntar a vontade.

Criado 30 de abril de 2015
Respostas 0
Participantes 1