I've recently delved into JavaFX as a C# developer. One thing I noticed in Java is that you're not spoon fed the way Visual Studio/Microsoft spoonfeed us. 

So. When I was creating a form using the scene builder for IntelliJ Idea on JavaFX. I inherited "Stage" for my controller class and created a void called load that will load the instance of the scene from the FXML file. Therefore when I call load() from the Main entry point or anywhere it will load the fxml file and show. 

```
LoginController frmLogin = new LoginController();
frmLogin.load();

```

The problem is that it works and it does't work. 

Here's my code.

Main.Java

```
public class Main extends Application
{
    @Override
    public void start(Stage primaryStage) throws Exception
    {
       LoginController frmLogin = new LoginController();
       frmLogin.load();
    }

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

```

LoginController.Java

```
public class LoginController extends Stage
{

    @FXML
    private TextField txtUsername;
    @FXML
    private TextField txtPassword;

    @FXML
    private void btnLogin_Clicked(ActionEvent e) throws Exception
    {
        if (txtUsername.getText().equals("admin") && txtPassword.getText().equals("pass"))
        {
            Messagebox.Show("Correct Login!");

            this.show(); //The problem occurs here!
        }
        else
        {
            Messagebox.Show("Incorrect Login");
        }
    }

    public void load() throws Exception
    {
        Parent root = FXMLLoader.load(getClass().getResource("frmLogin.fxml"));

        this.setScene(new Scene(root));
        this.setTitle("JavaFX GUI");
        this.setResizable(false);
        this.initModality(Modality.APPLICATION_MODAL);
        this.show();

    }
}

```

Here's a GIF of the problem.
<http://i.imgur.com/0hOG76M.gif>

I want to know why when I call .show() it shows a blank for? 
Any help would be appreicated.