interface graphique
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

interface graphique



  1. #1
    invitecf64a78a

    interface graphique


    ------

    Salut à tous,

    Je suis débutant en programmation java.Dans mon projet j'ai un classe principale appelé "Projet.java" et un jframe "xxx.java".
    Je veux creer un Jframe dont j'ai utilisé un Textfield , un bouton 'connect' , deux jlabels 'user' et 'password'.
    Mon objectif lorsque je remplie les champs 'user' et 'password' je dois cliquer sur le bouton 'connect' alors il s'affiche dans la zone de TextField le résultat de
    l'execution de mon class principal.

    SVP quel est la méthode qu'on doit ajouter dans Jframe pour voir le lien entre ces 2 classes.?????????????????????
    J'éspere que mon probléme est bien expliqué

    Mon code de Projet java est:
    Code:
    package projet;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    
    public class Projet {
    
        private String dbURL = "";
        private String user = "";
        private String password = "";
        private java.sql.Connection dbConnect = null;
        private java.sql.Statement dbStatement = null;
    
        public Projet(String url, String user, String password) {
            this.dbURL = url;
            this.user = user;
            this.password = password;
        }
    
        public Boolean connect() {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                this.dbConnect = DriverManager.getConnection("jdbc:mysql:" + this.dbURL, this.user, this.password);
                this.dbStatement = this.dbConnect.createStatement();
                return true;
            } catch (SQLException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            }
            return false;
        }
    
        /**
         * Executer une requete SQL
         * @param sql
         * @return resultat de la requete
         */
        public ResultSet exec(String sql) {
            try {
                ResultSet rs = this.dbStatement.executeQuery(sql);
                return rs;
            } catch (SQLException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            }
            return null;
        }
    public int exec_update(String sql) {
            try {
                int rs = this.dbStatement.executeUpdate(sql);
                return rs;
            } catch (SQLException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            }
            return 0;
        }
        
        /**
         * Fermer la connexion au serveur de DB
         */
        public void close() {
            try {
                this.dbStatement.close();
                this.dbConnect.close();
                this.dbConnect.close();
            } catch (SQLException ex) {
                Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    
        
        public static void main(String[] args) {
             Projet mysqlCli = new Projet("//localhost:3306/dalel", "root", "besmallah");
            if (mysqlCli.connect()) {
                try {
                      /* int rs2 = mysqlCli.exec_update("INSERT INTO dalel_db (id,add_mac,time,temperature,battement) VALUES('w02','01245475','16-03-2012','40','99')");
                   if(rs2!=0)
                   {
                       System.out.println("insertion d'une ligne avec succee");
                   }
                   else System.out.println("insertion d'une ligne echoué");*/
                    ResultSet rs = mysqlCli.exec("SELECT * FROM dalel_db");
                    if (rs != null) {
                        System.out.println("id"+"   "+"mac"+"   "+"time"+"   "+"temperature"+"    "+"battement");
                        while (rs.next()) {
                            System.out.print( rs.getString(1)+"  ");
                            System.out.print( rs.getString(2)+"  ");
                            System.out.print( rs.getString(3)+"  ");
                            System.out.print( rs.getString(4)+"     ");
                            System.out.println(rs.getString(5)+"  ");
                        }
                        
                     }
                   
                       
                } catch (SQLException ex) {
                    Logger.getLogger(Projet.class.getName()).log(Level.SEVERE, null, ex);
                }
                
              
            } else {
                System.out.println("Mysql connection failed !!!");
            }
            
            mysqlCli.close();
        }
    }

    La méthode que je l'utilise dans jframe est:
    Code:
    private void connecterActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
        String U=user.getText();
        String pw=password.getText();
        Projet p=new Projet("//localhost:3306/sabrine",U,pw);
        p.connect();
    Merci d'avance!!!!!!!!!!!!!

    -----
    Dernière modification par JPL ; 20/03/2012 à 16h15. Motif: Remplacement de la balise Quote par Code

  2. #2
    bijop

    Re : interface graphique

    Bonjour,

    je ne suis pas certain d'avoir bien compris, mais je tente une réponse...

    Tu peux passer ton TextField en paramètre du contructeur de la classe Projet,
    que tu mets ensuite à jour quand nécessaire (attention quand même aux accès
    objets graphiques hors Thread IHM...)

    Sinon tu peux employer le design pattern Observer qui me semble être
    exactement ce que tu souhaites faire.

    bon courage

  3. #3
    invitecf64a78a

    Re : interface graphique

    Merci pour votre réponse,
    Désolé car je n'ai pas reussir à poser mon probème avec clairté.Mon objectif est d’afficher le résultat d'exécution d'une classe java dans une jframe.
    En effet, je veux à partir d'un clic sur un boutton 'connect' qui se trouve dans mon jframe, une requete SQL s'execute et le résultat obtenu par cette requête s'affiche dans la zone de texte Field .
    Je cherche dans l'internet mais je ne trouve pas une solution à mon besoin


    SVP, aidez moi !!!!!!!!!!!!!!!!!!!!!!!!.Donne z moi un exemple ou
    Merci d'avance!!!!!

Discussions similaires

  1. Interface graphique
    Par invitee22a82f7 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 02/09/2011, 14h53
  2. interface graphique+run
    Par invitefac7bbd6 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 06/07/2009, 11h40
  3. Interface graphique en vb
    Par invitec1b24942 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 24/06/2009, 18h45
  4. matlab interface graphique
    Par invite694b9f76 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 16/09/2008, 11h43
  5. Interface graphique en java
    Par invitef7bc8097 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 27/04/2006, 23h32