I have a button called add new user by hitting that a pop up window should come out containing a add user form . Here is my function for that button :
public void btnAddeNewClicked(){
final TextField name = new TextField() ;
final TextField addr = new TextField() ;
final TextField wp = new TextField() ;
final TextField state = new TextField() ;
final TextField loginName = new TextField() ;
final Label labelUsername = new Label();
final Label labelAddress = new Label();
final Label labelWebPage = new Label();
final Label labelState = new Label();
final Label labelloginName = new Label();
final Button btn = new Button("Add");
Stage dialog = new Stage();
dialog.initStyle(StageStyle.UTILITY);
Scene scene = new Scene(btn);
dialog.setScene(scene);
dialog.show();
}
the problem is I don't know how to add my form into my Stage . Any help is strongly appreciated :)
Use any of the layout to add the content of your popup. Later, add this layout as the root of the scene.
In the following example, I have used a GridPane.
import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Button button = new Button("Show Popup");
button.setOnAction(e -> btnAddeNewClicked());
Scene scene = new Scene(new StackPane(button), 200, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public void btnAddeNewClicked(){
final TextField name = new TextField() ;
final TextField addr = new TextField() ;
final TextField wp = new TextField() ;
final Label labelUsername = new Label("Username");
final Label labelAddress = new Label("Address");
final Label labelWebPage = new Label("Web Page");
final Button btn = new Button("Add");
GridPane gridPane = new GridPane();
gridPane.setVgap(10);
gridPane.setHgap(10);
gridPane.setPadding(new Insets(10));
gridPane.add(labelUsername, 0, 0);
gridPane.add(name, 1, 0);
gridPane.add(labelAddress, 0, 1);
gridPane.add(addr, 1, 1);
gridPane.add(labelWebPage, 0, 2);
gridPane.add(wp, 1, 2);
gridPane.add(btn, 0, 3, 2, 1);
GridPane.setHalignment(btn, HPos.CENTER);
Stage dialog = new Stage();
dialog.initStyle(StageStyle.UTILITY);
Scene scene = new Scene(gridPane);
dialog.setScene(scene);
dialog.show();
}
}
OUTPUT