Threads no Java

3 respostas
threadsjavaprogramação
Gabriel_Barreto

Galera estou criando uma aplicação javafx e queria saber como chamo um thread para abrir as tela do meu programa especificamento no código abaixo…

/*METODO PARA ABRIR A TELA DE CADASTRO DE CLIENTES*/
    @FXML
    void OpenCliente(ActionEvent event) {

        try {
            Cliente cliente = new Cliente();
            cliente.start(new Stage());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

3 Respostas

darlan_machado

Não manjo de javafx e meu conhecimento em threads é pífio, pois nunca usei nos projetos que participei.
Bom, até onde sei, você tem duas maneiras de usar threads:

  • Estendendo a classe Thread
  • Implementando a interface Runnable
    Dependendo de qual, você vai instanciar de um ou outro modo.

No swing existia o EventQueue.invokeLater(new Runnable() { public void run() { label.setText(hora); } }
Não sei se existe um similar para o FX

Gabriel_Barreto

Cara eu usei um metodo que eu vi na internet, mais não sei realmente se minha janela ta abrindo com uma thread, codigo abaixo mostrando como eu fiz… como vejo se minha aplicação esta rodando junto com uma thread???

public void start(final Stage stage) throws Exception  {
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                try{
                    Parent root = FXMLLoader.load(getClass().getResource("/View/Cliente.fxml"));
                    Scene scene = new Scene(root);
                    stage.setScene(scene);
                    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
                        @Override
                        public void handle(WindowEvent t) {
                            ((Stage) t.getSource()).close();
                        }
                    });
                    setStage(stage);
                    stage.show();


                }catch (Exception e){
                    e.printStackTrace();
                }
            }

        });
    }
darlan_machado

Tecnicamente, isso indica a execução de uma nova trhead

Criado 4 de abril de 2019
Ultima resposta 7 de abr. de 2019
Respostas 3
Participantes 2