Example usage for javafx.scene.layout GridPane setPrefWidth

List of usage examples for javafx.scene.layout GridPane setPrefWidth

Introduction

In this page you can find the example usage for javafx.scene.layout GridPane setPrefWidth.

Prototype

public final void setPrefWidth(double value) 

Source Link

Usage

From source file:de.perdoctus.ebikeconnect.gui.dialogs.LoginDialog.java

@PostConstruct
public void init() {
    final ImageView graphic = new ImageView(
            new Image(getClass().getResource("/app-icon.png").toExternalForm()));
    graphic.setPreserveRatio(true);//from w w  w.  j av  a2s .  c o m
    graphic.setFitHeight(64);
    setGraphic(graphic);
    setResizable(true);
    setWidth(400);
    setResizable(false);

    setTitle(rb.getString("dialogTitle"));
    setHeaderText(rb.getString("dialogMessage"));

    final ButtonType loginButtonType = new ButtonType(rb.getString("loginButton"),
            ButtonBar.ButtonData.OK_DONE);
    getDialogPane().getButtonTypes().addAll(loginButtonType, ButtonType.CANCEL);

    // Create the username and password labels and fields.
    final GridPane grid = new GridPane();
    grid.setHgap(10);
    grid.setVgap(10);
    grid.setPadding(new Insets(20, 10, 10, 10));
    grid.setPrefWidth(getWidth());
    grid.getColumnConstraints().add(new ColumnConstraints(-1, -1, -1, Priority.NEVER, HPos.LEFT, true));
    grid.getColumnConstraints().add(new ColumnConstraints(-1, -1, -1, Priority.ALWAYS, HPos.LEFT, true));

    final String rbUsername = rb.getString(CFG_USERNAME);
    final TextField txtUsername = new TextField();
    txtUsername.setPromptText(rbUsername);
    txtUsername.setText(config.getString(CFG_USERNAME, ""));

    final Label lblUsername = new Label(rbUsername);
    lblUsername.setLabelFor(txtUsername);
    grid.add(lblUsername, 0, 0);
    grid.add(txtUsername, 1, 0);

    final String rbPassword = rb.getString(CFG_PASSWORD);
    final PasswordField txtPassword = new PasswordField();
    txtPassword.setPromptText(rbPassword);
    if (config.getBoolean(CFG_SAVE_PASSWORD, false)) {
        txtPassword.setText(config.getString(CFG_PASSWORD, ""));
    }

    final Label lblPassword = new Label(rbPassword);
    lblPassword.setLabelFor(txtPassword);
    grid.add(lblPassword, 0, 1);
    grid.add(txtPassword, 1, 1);

    final CheckBox cbSavePassword = new CheckBox(rb.getString("save-password"));
    cbSavePassword.setSelected(config.getBoolean(CFG_SAVE_PASSWORD, false));
    grid.add(cbSavePassword, 1, 2);

    getDialogPane().setContent(grid);

    // Enable/Disable login button depending on whether a username was entered.
    final Node loginButton = getDialogPane().lookupButton(loginButtonType);
    loginButton.disableProperty()
            .bind(txtUsername.textProperty().isEmpty().or(txtPassword.textProperty().isEmpty()));

    setResultConverter(buttonType -> {
        if (buttonType == loginButtonType) {
            config.setProperty(CFG_USERNAME, txtUsername.getText());
            config.setProperty(CFG_SAVE_PASSWORD, cbSavePassword.isSelected());
            if (cbSavePassword.isSelected()) {
                config.setProperty(CFG_PASSWORD, txtPassword.getText());
                config.setProperty(CFG_PASSWORD, txtPassword.getText());
            } else {
                config.clearProperty(CFG_PASSWORD);
            }
            return new Credentials(txtUsername.getText(), txtPassword.getText());
        } else {
            return null;
        }
    });

    if (txtUsername.getText().isEmpty()) {
        txtUsername.requestFocus();
    } else {
        txtPassword.requestFocus();
        txtPassword.selectAll();
    }
}

From source file:de.ifsr.adam.ImageGenerator.java

/**
 * Puts the charts in chartList into GridPanes as specified by chartsPerColumn and chartsPerRow.
 *
 * @param chartList The ArrayList with the charts.
 * @param chartsPerColumn Number of charts that are in one column.
 * @param chartsPerRow Number of charts that are in one row.
 * @return The list of GridPanes that were generated.
 *///from ww  w. java2 s .co m
private ArrayList<GridPane> makeLayout(ArrayList<Chart> chartList, Integer chartsPerColumn,
        Integer chartsPerRow) {
    ArrayList<GridPane> gridPaneList = new ArrayList<>();
    GridPane gridPane = new GridPane();
    int rowIndex = 0, columnIndex = 0;
    Iterator<Chart> iter = chartList.iterator();

    //int i = 0;//TODO: Remove 
    while (iter.hasNext()) {
        //System.out.println("Run: "+ i + " columnIndex: " + columnIndex + " rowIndex: " + rowIndex);//TODO: Remove 
        //i++;//TODO: Remove 

        Chart chart = iter.next();
        calculateChartSize(chart, chartsPerColumn, chartsPerRow);
        gridPane.add(chart, columnIndex, rowIndex);

        columnIndex++;

        //Case: Row is full go to next row
        if (columnIndex >= chartsPerRow) {
            columnIndex = 0;
            rowIndex++;
        }

        //Case: Page is full start a new GridPane
        if (rowIndex >= chartsPerColumn) {
            //The Layout for the gridPane
            gridPane.setHgap(imageWidth * 0.10);
            gridPane.setAlignment(Pos.CENTER);
            gridPane.setPrefWidth(imageWidth);
            gridPane.setPrefHeight(imageHeight);

            gridPaneList.add(gridPane);
            gridPane = new GridPane();
            rowIndex = 0;
        }
    }

    //This needs to be check, or the last page can be empty
    if (rowIndex != 0 || columnIndex != 0) {
        gridPaneList.add(gridPane);
    }

    return gridPaneList;
}