Como faço para clicar em um botão e abrir uma nova tela?
12/08/2016
0
package view;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
public class Login extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"));
Scene scene = new Scene(root, 400, 240);
stage.setTitle("FXML Welcome");
stage.setScene(scene);
stage.show();
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------
package controller;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import view.TelaPrincipal;
public class LoginController {
@FXML private Text actiontarget;
@FXML protected void handleSubmitButtonAction(ActionEvent event) throws Exception {
// actiontarget.setText("Botão Pressionado");
Stage stage = null;
new TelaPrincipal().start(stage);
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------
package view;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class TelaPrincipal extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("TelaPrincipal.fxml"));
Scene scene = new Scene(root, 400, 240);
stage.setScene(scene);
stage.show();
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Esse é o erro que estou tomando.
Caused by: java.lang.NullPointerException
at view.TelaPrincipal.start(TelaPrincipal.java:16)
at controller.LoginController.handleSubmitButtonAction(LoginController.java:18)
... 58 more
Na Class LoginController quando clico no botão na tela de Login gostaria que a tela de Login fechasse e abrisse a tela da Class TelaPrincipal.
Por que isso não acontece? Onde estou errando?
Obrigado a todos,
Jurandyr
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
public class Login extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"));
Scene scene = new Scene(root, 400, 240);
stage.setTitle("FXML Welcome");
stage.setScene(scene);
stage.show();
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------
package controller;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import view.TelaPrincipal;
public class LoginController {
@FXML private Text actiontarget;
@FXML protected void handleSubmitButtonAction(ActionEvent event) throws Exception {
// actiontarget.setText("Botão Pressionado");
Stage stage = null;
new TelaPrincipal().start(stage);
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------
package view;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class TelaPrincipal extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("TelaPrincipal.fxml"));
Scene scene = new Scene(root, 400, 240);
stage.setScene(scene);
stage.show();
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Esse é o erro que estou tomando.
Caused by: java.lang.NullPointerException
at view.TelaPrincipal.start(TelaPrincipal.java:16)
at controller.LoginController.handleSubmitButtonAction(LoginController.java:18)
... 58 more
Na Class LoginController quando clico no botão na tela de Login gostaria que a tela de Login fechasse e abrisse a tela da Class TelaPrincipal.
Por que isso não acontece? Onde estou errando?
Obrigado a todos,
Jurandyr
Jurandyr Alves
Curtir tópico
+ 0
Responder
Posts
12/08/2016
Jurandyr Alves
Pessoal fiz uma pequena alteração no código mais ainda não funciona:
package controller;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class LoginController {
@FXML protected void handleSubmitButtonAction(ActionEvent event) throws Exception {
Stage stage = null;
Parent root = FXMLLoader.load(getClass().getResource("TelaPrincipal.fxml"));
Scene scene = new Scene(root, 400, 240);
stage.setScene(scene);
stage.show();
}
}
package controller;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class LoginController {
@FXML protected void handleSubmitButtonAction(ActionEvent event) throws Exception {
Stage stage = null;
Parent root = FXMLLoader.load(getClass().getResource("TelaPrincipal.fxml"));
Scene scene = new Scene(root, 400, 240);
stage.setScene(scene);
stage.show();
}
}
Responder
12/08/2016
Jurandyr Alves
Consegui.
:smile:
package controller;
import java.io.IOException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class LoginController {
@FXML protected void handleSubmitButtonAction(ActionEvent event) {
try {
Parent root = FXMLLoader.load(getClass().getResource("TelaPrincipal.fxml"));
Stage stage = new Stage();
Scene scene = new Scene(root, 400, 240);
stage.setScene(scene);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
:smile:
package controller;
import java.io.IOException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class LoginController {
@FXML protected void handleSubmitButtonAction(ActionEvent event) {
try {
Parent root = FXMLLoader.load(getClass().getResource("TelaPrincipal.fxml"));
Stage stage = new Stage();
Scene scene = new Scene(root, 400, 240);
stage.setScene(scene);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)