Relation entre les interfaces

Résolu
liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 - 21 juil. 2012 à 18:07
 Utilisateur anonyme - 1 août 2012 à 22:43
Bonsoir
J’ai 6 interface "jFrame dont l'un est le menue générale de mon application que je l'ai déjà fait en .Net le problème que pour java je suis débutant.

comment rendre ce menue générale inactive lorsque un autre interface est ouvert et le rendre actif lorsque ce dernier est fermé et comment cacher les boutons (X - et le carreau en haut de JFrame sans cacher la bordure et le barre de titre
j’attends vos repenses s'il vous plais

10 réponses

liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 1
1 août 2012 à 01:56
Bonsoir
c'est très bien comme ca
ResultSet rs = s.executeQuery("SELECT * FROM user where Ressource='"+this.jTextField2.getText()+"' and Pass='"+new String(this.jPasswordField2.getPassword())+"'");

je peux demmander l'aide si je me bloque ?
merci d'avance
3
Utilisateur anonyme
23 juil. 2012 à 15:50
Salut,

Cela risque d'être hardu pour un débutant en Java comme tu dis. Surtout si tu es habitué à faire du WYSIWYG avec Visual Studio quand tu faisait du .NET, car là tu vas devoir d'avantage taper dans le code. Sinon, méthode barbare, tu peux utiliser la méthode setEnable ou disable() (j'ai un léger doute) sur tes JComponents pour désactiver ce que tu veux.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 1
25 juil. 2012 à 16:44
Bonjour Pylouq
la méthode setenable(false) fonctionne bien saufe que en fermant la deusiemme fenetre je veut que le menue générale devien enable avec setenable(true) alors que sela ne marche pas.
j'ai une autre methode et j'aime savoir vos idée sur cette derniere le faite d'utiliser le menu en JFrame et les autres en JDialog avec la methode setModal(true).
merci
0
Utilisateur anonyme
26 juil. 2012 à 17:18
alors que sela ne marche pas.

Peux-tu être plus précis ? Poste-nous le code concerné par exemple pour qu'on voit ça :D Si ça se trouve, ta méthode setEnable(true) n'est même pas appelée.

Pour ton autre méthode, je la trouve intéressante. Après, attention à l'ergonomie. Tu peux avoir d'autres alternatives comme utiliser des onglets (JTabbedPane) ou des fenêtres internes. Tu peux en trouver un exemple ICI.

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 1
31 juil. 2012 à 18:58
Bonsoir tout le monde
Merci Pylouq pour tes réponses
J'ai dépassé la phase se de disigne mon problème maintenant c'est la connection a la base access avant de passer à l'SQL j'ai rien comme erreur et aussi rien comme résultat j'ai tout essayé voila mon code s'il vous plais aidez je cherche pas de loisir je prépare au pfe Master.


package testa;
import java.sql.*;
import javax.swing.JDialog;
public class B extends javax.swing.JDialog {
       public B(java.awt.Frame parent, boolean modal) {
       super(parent, modal);
       initComponents();
       this.setLocationRelativeTo(null);
       this.setTitle("Authentification");
 this.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
                 }
       @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

        jPasswordField1 = new javax.swing.JPasswordField();
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jButton2 = new javax.swing.JButton();
        jComboBox1 = new javax.swing.JComboBox();
        jPasswordField2 = new javax.swing.JPasswordField();

        jPasswordField1.setText("jPasswordField1");

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jButton1.setText("Annuler");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jLabel1.setText("Service : ");

        jLabel2.setText("Ressource :");

        jLabel3.setText("Passsword :");

        jTextField2.setName("Login");
        jTextField2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField2ActionPerformed(evt);
            }
        });

        jButton2.setText("OK");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Reception", "Technique", "Validation", "Magasin", "Administrateur" }));

        org.jdesktop.beansbinding.ELProperty eLProperty = org.jdesktop.beansbinding.ELProperty.create("${toolTipText}");
        org.jdesktop.swingbinding.JComboBoxBinding jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jComboBox1, eLProperty, jComboBox1);
        bindingGroup.addBinding(jComboBoxBinding);

        jPasswordField2.setName("password");
        jPasswordField2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jPasswordField2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING))
                    .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jTextField2, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBox1, 0, 202, Short.MAX_VALUE)
                    .addComponent(jPasswordField2))
                .addContainerGap(27, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(25, 25, 25)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(jPasswordField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addGap(28, 28, 28))
        );

        bindingGroup.bind();

        pack();
    }// </editor-fold>

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        System.exit(0);
    }                                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection( "Jdbc:Odbc:SAV1","","");
Statement s = con.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM user where Ressource='"+this.jTextField2.getText()+"'Pass='"+this.jPasswordField2.getPassword()+"'");
 int count=0;
 while(rs.next()){
 count += 1;
}
if(count == 1)
{
    this.dispose();
}
       }
  catch (ClassNotFoundException | SQLException e) {
System.out.println("Error: " + e);
 }
           
    }                                        

    private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
    }                                           

    private void jPasswordField2ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }
    
    public static void main(String args[]) {
        
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                B dialog = new B(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {

                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPasswordField jPasswordField1;
    private javax.swing.JPasswordField jPasswordField2;
    private javax.swing.JTextField jTextField2;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration
 
}
0
Utilisateur anonyme
31 juil. 2012 à 22:52
Salut,

Bien que je sois suspicieux pour les paramètres que tu passes dans DriverManager.getConnection(), je pense que c'est ta requête SQL qui déconne :

ResultSet rs =  s.executeQuery("SELECT * FROM user where Ressource='"+this.jTextField2.getText()+"'Pass='"+this.jPasswordField2.getPassword()+"'");


Déjà, avant Pass , tu devrais mettre un espace. Et il te manque un mot clé avant, genre and. Ce qui te donnerait au final la chose suivante :

ResultSet rs  = s.executeQuery("SELECT * FROM user where Ressource='"+this.jTextField2.getText()+" and 'Pass='"+this.jPasswordField2.getPassword()+"'");


Au fait, utilise plutôt des requêtes préparées car insérer directement les valeurs saisies dans ta requête maisse le champ entièrement libre aux attaques de type insertions SQL...

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 1
1 août 2012 à 00:50
Bonsoir
merci Pylouq pour ton soutien
j'ai essayé de changer le resultset comme vous avez indiqué
je doute pour ce code
Connection con = DriverManager.getConnection( "Jdbc:Odbc:SAV1", "","");

l'emplacement de la base dans le reppertoire du projet et aussi j'ai pas installé le JDBC ni configurer aucun driver SVP je veux comprendre l'histoire du driver JDBC.
0
liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 1
1 août 2012 à 01:18
Bonsoir
Pylouq j'ai un message d'erreur je pense qu'il va nous aider à identifier le problème le voila

Error: java.sql.SQLException: [Microsoft]Gestionnaire de pilotes ODBC Source de données introuvable et nom de pilote non sp?cifi?

Mais je m'excuse je n’arrive pas à configurer et ou installer le pilote jdbc cette truc je n’ai pas compris.
Je m'excuse s'il y a le moindre dérangement
0
liondes Messages postés 70 Date d'inscription samedi 21 juillet 2012 Statut Membre Dernière intervention 3 mars 2015 1
1 août 2012 à 01:43
bonsoir
j'ai configuré l'ODBC et ca bien marché mais avec le login seullement comme ca
ResultSet rs = s.executeQuery("SELECT * FROM user where Ressource='"+this.jTextField2.getText()+") 

et jai eliminé ca
and pass='"+this.jPasswordField2.getPassword()+"'")

pouvez vous m'expliquer pourquoi ?
0
Utilisateur anonyme
1 août 2012 à 22:43
Salut,

Tant mieux si tu as résolu ton problème ! Clique sur "Réponse acceptée" dans ce cas, cela va permettre de clore le sujet. Bien entendu, si tu as d'autres questions, n'hésite pas à les poser (fait un nouveau sujet pour cela).

Petite curiosité, as-tu le même résultat si tu faisais comme ça :

ResultSet rs = s.executeQuery("SELECT * FROM user where Ressource='"+this.jTextField2.getText()+"' and Pass='"+this.jPasswordField2.getPassword().toString()+"'");

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
Rejoignez-nous