Layout a Login Dialog : GridPane « JavaFX « Java






Layout a Login Dialog

 

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class Main extends Application {
  public static void main(String[] args) {
    launch(args);
  }

  @Override
  public void start(Stage primaryStage) {
    primaryStage.setTitle("JavaFX 2 Login");

    BorderPane bp = new BorderPane();
    bp.setPadding(new Insets(10, 50, 50, 50));

    HBox hb = new HBox();
    hb.setPadding(new Insets(20, 20, 20, 30));

    GridPane gridPane = new GridPane();
    gridPane.setPadding(new Insets(20, 20, 20, 20));
    gridPane.setHgap(5);
    gridPane.setVgap(5);


    Label lblUserName = new Label("Username");
    final TextField txtUserName = new TextField();
    Label lblPassword = new Label("Password");
    final PasswordField pf = new PasswordField();
    Button btnLogin = new Button("Login");
    final Label lblMessage = new Label();

    gridPane.add(lblUserName, 0, 0);
    gridPane.add(txtUserName, 1, 0);
    gridPane.add(lblPassword, 0, 1);
    gridPane.add(pf, 1, 1);
    gridPane.add(btnLogin, 2, 1);
    gridPane.add(lblMessage, 1, 2);

    btnLogin.setOnAction(new EventHandler<ActionEvent>() {
      public void handle(ActionEvent event) {
      }
    });

    bp.setTop(hb);
    bp.setCenter(gridPane);

    Scene scene = new Scene(bp);
    primaryStage.setScene(scene);
    primaryStage.show();
  }
}

   
  








Related examples in the same category

1.Using GridPane to layout controls
2.Using GridPane to layout form
3.create a GridPane with 5 columns 100 pixels wide
4.GridPane where columns take 25%, 50%, 25% of its width
5.Percent Height for GridPane Row
6.Create a GridPane with 10 rows 50 pixels tall
7.Login window