Bonjour,

J'aimerais poser une petite question :

Classe : FXMLDocumentController :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public void endFX() throws InterruptedException {
   try {
       // Localisation du fichier FXML.
       final URL url = getClass().getResource("endFXML.fxml");
       // Création du loader.
       final FXMLLoader fxmlLoader = new FXMLLoader(url);
       // Chargement du FXML.
       final AnchorPane root = (AnchorPane) fxmlLoader.load();
       // Création de la scène.
       final Scene scene = new Scene(root);
       final Stage stage = new Stage();
       stage.setScene(scene);
       stage.show();
       stage.requestFocus();
       Label tf = (Label) root.getChildren().get(3);
       tf.setText(""+scoreJ);
 
       Timer timer = new Timer();
       TimerTask task = new TimerTask(){ //Thread pour mettre ma 2e page en focus constant
       @Override
           public void run() {
           Platform.runLater(new Runnable() {
              public void run() {
                 stage.toFront();
             }
           });
       }
       };
 
       timer.scheduleAtFixedRate(task, 0, 10);
 
 
 
   } catch (IOException ex) {
       System.err.println("Erreur au chargement: " + ex);
   }
       System.out.println("Score ok");
 
   }
Donc là on est dans notre controller principale et va ouvrir une autre fenêtre pour gérer la BBD et enregistrer les scores etc

Classe EndFXMLController :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@FXML
    public void buttonclickedsubmit(MouseEvent me) throws Throwable{ //Il y a un bouton submit et on appuie dessus
        String url = "jdbc:mysql://localhost:3306/taquinladder";
            String user = "utilisateur";
            String passwd = "pcw123";
            String score = ScoreL.getText();
            int scoreI = Integer.parseInt(score);
            name = tfP.getText();
 
        try { //On gère notre BBD
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            System.out.println("Driver O.K.");
 
            conn = DriverManager.getConnection(url, user, passwd);
            System.out.println("Connexion effective !");
            st = conn.createStatement();
 
            st.executeUpdate("INSERT INTO ladder (pseudo, score) VALUES('"+ name+"',"+scoreI+")");
            st.close();
 
 
        } catch (Exception e) {
          e.printStackTrace();
          System.out.println("marche pas");
        } 
    }
Ce que je voudrais faire c'est de faire stage.close() dans EndFXMLController une fois qu'on a rentré nos résultats dans la base de données et dire au Thread de s'arrêter ou bien le faire dans FXMLDocumentController en mode, on arrête le focus une fois qu'on a appuyé sur le bouton et en plus de ça on ferme la page et le Thread.


Mais je ne vois pas comment faire ^^'

Merci de votre aide