IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

code fonctionnel avec System.out.println, ne fonctionne pas sans


Sujet :

Eclipse Java

  1. #1
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut code fonctionnel avec System.out.println, ne fonctionne pas sans
    Bjour,

    Je suis en discussion avec bouye sur le forum interface graphique JavaFX.
    Il m'a donné 1 code que j'ai un peu modifié et que j'arrive a faire tourner.
    Le truc c'est que le programme tourne correctement uniquement si je ne commente pas
    1 instruction System.out.println()

    grosso modo,
    il y' a 1 Service avec 1 Task qui interroge 1 DB.
    le retour est affiché ds 1 TableView

    Si je commente le System.out.println, le programme tourne mais
    j'ai le msg "aucun contenu ds la table"
    Si je décommente l'instruct°, le programme tourne avec la TableView
    remplie correctement ms sans retour console

    J'ai sans doute fait 1 erreur qque part, peut etre a la creat° du projet ms j'ai
    qd meme l'orgueil de trouver ça bizarre.

    Je vous poste le code,
    Si certains d'entre vous veulent essayer, histoire de voir
    - si j'ai foiré qque chose
    - si c'est mon install d'eclipse qui a foiré qque chose
    - si y'a 1 bug

    Je mets tt le code avec les imports

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    package application;
     
    import javafx.beans.property.SimpleStringProperty;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableArray;
    import javafx.collections.ObservableList;
    import javafx.concurrent.Service;
    import javafx.concurrent.Task;
    import javafx.fxml.FXML;
    import javafx.fxml.Initializable;
    import javafx.scene.control.Button;
    import javafx.scene.control.TableColumn;
    import javafx.scene.control.TableView;
     
    import java.net.URL;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Optional;
    import java.util.ResourceBundle;
    import java.util.logging.Level;
    import java.util.logging.Logger;
     
    public final class TableScreenController implements Initializable {
        @FXML
        private TableView<Result> tableView;
        @FXML
        private TableColumn<Result, String> bookColumn;
        @FXML
        private TableColumn<Result, String> borrowerColumn;
        @FXML
        private Button queryButton;
     
        private final ObservableList<Result> queryResult = FXCollections.observableArrayList();
        private final ObservableList<Result> queryResult__ = FXCollections.observableArrayList();
     
        @Override
        public void initialize(URL url, ResourceBundle resourceBundle) {
            tableView.setItems(queryResult);
            bookColumn.setCellValueFactory(feature -> new SimpleStringProperty(feature.getValue().book()));
            borrowerColumn.setCellValueFactory(feature -> new SimpleStringProperty(feature.getValue().borrower()));
        }
     
        private Service<Result[]> queryService;
     
        @FXML
        private void doQueryAsync() {
            Optional.ofNullable(queryService)
                    .ifPresent(Service::cancel);
            queryService = null;
            queryResult.clear();
            queryButton.setDisable(true);
            final var service = new Service<Result[]>() {
     
                @Override
                protected Task<Result[]> createTask() {
     
                    return new Task<Result[]>() {
     
                        @Override
                        protected Result[] call() throws Exception {
     
                        	// FAIRE LA REQUETE ICI.
                        	String selectQueryTest03_;
    		        		Connection conTest03_;
    		        		PreparedStatement p_stmtTest03_;
    		        		ResultSet rsTest03_ = null;
     
    		        		ObservableList<String> obListPrenom = FXCollections.observableArrayList();
    		        		ObservableList<String> obListTitre = FXCollections.observableArrayList();
     
    		        		int nbre_ergts = 0;
     
    		        		// redact° de la requete
    		        		selectQueryTest03_ = "SELECT client.prenom, livre.titre\n"
    		        				+ "FROM client, livre\n"
    		        				+ "INNER JOIN emprunt\n"
    		        				+ "WHERE client.id_abonne = emprunt.id_abonne\n"
    		        				+ "AND emprunt.id_livre = livre.id_livre";
     
    		        		conTest03_ = DB.getCon();
     
    		        		try {
    		                    p_stmtTest03_ = conTest03_.prepareStatement(selectQueryTest03_);
    		                    rsTest03_ = p_stmtTest03_.executeQuery();
     
     
    		                    while (rsTest03_.next()) {
     
    		                    	obListPrenom.add(rsTest03_.getString("prenom"));
    		                    	obListTitre.add(rsTest03_.getString("titre"));
     
    		                    	nbre_ergts++;
     
    		                    }
     
     
    		        		} catch(SQLException except) {
    		        			//
    		        			System.out.println("Except°:");
    		                	System.out.println("Fichier: F03_emprunt_controller.java");
    		                	System.out.println("Methode: test02_()");
    		                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, except);
    		        		}		        		
     
                            // LE SLEEP EST JUSTE POUR SIMULER UNE TACHE DE LONGUE DUREE.
                            Thread.sleep(2000);
     
                            // fonctionne
                            Result result02X = null;
     
                            for (int i = 0; i < nbre_ergts; i++) {
                            	result02X = new Result(obListTitre.get(i), obListPrenom.get(i));
                            	queryResult.addAll(result02X);
                            }
     
                            //System.out.println("--" + queryResult__.get(1));
                            System.out.println("--" + queryResult__.size());
                            return new Result[] { };                
     
                        }
     
                    };
     
                }
     
            };
     
            service.setOnSucceeded(e -> {
                final var results = (Result[])e.getSource().getValue();
                queryResult.setAll(results);
                queryButton.setDisable(false);
            });
            service.setOnCancelled(e -> {
                queryButton.setDisable(false);
            });
            service.setOnFailed(e -> {
                queryButton.setDisable(false);
            });
            queryService = service;
            queryService.start();
        }
    }
    L39, 121 et 122

    Bon we a vs.
    grub

  2. #2
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut
    ok,

    j'ai trouvé,
    il faut degager les 2 1° instructions de la methode
    setOnSucceeded, les L 134 et 135

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. System.out.println ne fonctionne pas
    Par hadrien4789 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/09/2019, 13h23
  2. Probleme avec System.out.println
    Par Otero dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 20/01/2009, 11h06
  3. Problème d'affichage avec System.out.println
    Par Alucard95 dans le forum Général Java
    Réponses: 6
    Dernier message: 10/12/2008, 15h12
  4. Problème avec System.out.println sous Netbeans
    Par franklin626 dans le forum NetBeans
    Réponses: 2
    Dernier message: 23/04/2008, 16h08
  5. Réponses: 2
    Dernier message: 30/04/2007, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo