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

NetBeans Java Discussion :

Gestion Jframe avec 2 Jpanel


Sujet :

NetBeans Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut Gestion Jframe avec 2 Jpanel
    Bonsoir,

    Bon j'ai une Jframe et dans un premier temps un Jpanel qui s'affiche. lors de l'action d'un utilisateur ce Jpanel doit se cacher et laisser apparaitre le deuxième Jpanel. Sauf que j'ai des problèmes de taille.
    En effet la taille de ma première fenêtre est adapté à mon 1er Jpanel mais lorsque le ème Jpanel le remplace, la taille ne s'adapte pas à celui ci, par conséquent je ne vois que une partie de mon Jpanel je suis obligé d'agrandir la fenêtre manuellement.
    J'ai utilisé BordurLayout.
    Quelles sont les propriétés des Jpanels à modifier pour que la taille change.

    merci

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Après l'ajout de ton JPanel , tu dois faire appel à la méthode revalidate()

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Merci pour ta réponse, mais c'est Netbeans qui m'a écrit le code d'initialisation des panel et frame. donc j'arrive à un moment ou je fais du :

    jPanel1.setVisible(false);
    jPanel2.setVisible(true);

    Est ce après que je dois appliquer la méthode revalidate() ?

    Et sur le jframe ( qui se nomme "this" ? )

  4. #4
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message
    jPanel1.setVisible(false);
    jPanel2.setVisible(true);

    Est ce après que je dois appliquer la méthode revalidate() ?
    oui, et pour ton JFrame , il ya pas revalidate mais validate ou

    update(getGraphics())

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Malheureusement aucune des 2 méthodes ne fonctionnent.
    Est ce que cela peut venir des paramètres des panel?
    Le 1er affiché est beaucoup plus petit que le 2ème.

  6. #6
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message

    jPanel1.setVisible(false);
    jPanel2.setVisible(true);
    salut.
    j'ai pas fais attention a ton message

    donc tu essaie de cacher un panneau pour mettre un autre a sa place ?

    si c'est le cas , essayer alors de le supprimer de ton JFrame :

    après ajoute ton deuxième panneau à la place du premier.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Oue je voulais en cacher un en effet. vu que netbeans les creer et les ajoute des le début, c'est comme ca que je comptais procéder.

    mais j'ai tester ceci:
    this.remove(jPanel1);
    this.remove(jPanel2);
    this.getContentPane().add(jPanel2); ou this.add(jPanel2);
    jPanel2.setVisible(true);
    this.update(getGraphics());


    J'ai supprimer le ème avant de le rajouter.
    Cela me donne toujours les même résultat. C'est à dire pas de redimensionnement de la fenêtre.

  8. #8
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    est ce qu'on peut voir tous le code ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    voila pour le code
    Je t'ai mis en gras le zone de code qui me pose problème.
    Merci pour ta patience et ton aide


    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
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * InterfaceClient.java
     *
     * Created on 3 juin 2010, 14:08:45
     */
    
    package client;
    
    import java.awt.Dimension;
    import java.text.Normalizer.Form;
    import javax.swing.JOptionPane;
    import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
    
    /**
     *
     * @author Nico
     */
    public class InterfaceClient extends javax.swing.JFrame {
    
        //public Client client;
        Client client = new Client();
        /** Creates new form InterfaceClient */
        public InterfaceClient() {
            initComponents();
           
            jPanel2.setVisible(false);
           
    
        }
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {
    
            jPanel1 = new javax.swing.JPanel();
            textlogin = new javax.swing.JTextField();
            boutonconnexion = new javax.swing.JButton();
            textmotdepasse = new javax.swing.JPasswordField();
            jPanel2 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            jButton2 = new javax.swing.JButton();
            jScrollPane2 = new javax.swing.JScrollPane();
            jTextArea1 = new javax.swing.JTextArea();
            jScrollPane3 = new javax.swing.JScrollPane();
            jTextArea2 = new javax.swing.JTextArea();
            jLabel1 = new javax.swing.JLabel();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTable1 = new javax.swing.JTable();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setName(""); // NOI18N
    
            textlogin.setText("Entrez votre login");
            textlogin.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    textloginMouseClicked(evt);
                }
            });
    
            boutonconnexion.setText("Connexion");
            boutonconnexion.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    boutonconnexionMouseClicked(evt);
                }
            });
    
            textmotdepasse.setText("jPasswordField1");
            textmotdepasse.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    textmotdepasseMouseClicked(evt);
                }
            });
    
            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(41, 41, 41)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(textmotdepasse)
                            .addComponent(textlogin, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(jPanel1Layout.createSequentialGroup()
                            .addGap(17, 17, 17)
                            .addComponent(boutonconnexion)))
                    .addContainerGap(100, Short.MAX_VALUE))
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(textlogin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(textmotdepasse, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addComponent(boutonconnexion)
                    .addContainerGap())
            );
    
            getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_START);
    
            jPanel2.setPreferredSize(new java.awt.Dimension(500, 400));
    
            jButton1.setText("Envoyer");
            jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    jButton1MouseClicked(evt);
                }
            });
    
            jButton2.setText("Inviter");
            jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    jButton2MouseClicked(evt);
                }
            });
    
            jTextArea1.setColumns(20);
            jTextArea1.setRows(5);
            jTextArea1.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed(java.awt.event.KeyEvent evt) {
                    jTextArea1KeyPressed(evt);
                }
            });
            jScrollPane2.setViewportView(jTextArea1);
    
            jTextArea2.setColumns(20);
            jTextArea2.setEditable(false);
            jTextArea2.setRows(5);
            jScrollPane3.setViewportView(jTextArea2);
    
            jLabel1.setText("Liste des clients");
    
            jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null},
                    {null, null},
                    {null, null},
                    {null, null}
                },
                new String [] {
                    "Pseudo", "Dans la discussion"
                }
            ) {
                Class[] types = new Class [] {
                    java.lang.String.class, java.lang.Boolean.class
                };
    
                public Class getColumnClass(int columnIndex) {
                    return types [columnIndex];
                }
            });
            jTable1.setColumnSelectionAllowed(true);
            jScrollPane1.setViewportView(jTable1);
            jTable1.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    
            javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
            jPanel2.setLayout(jPanel2Layout);
            jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jLabel1)
                    .addContainerGap(635, Short.MAX_VALUE))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addGap(44, 44, 44)
                                    .addComponent(jButton2))
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addContainerGap()
                                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGap(53, 53, 53)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(jScrollPane3)
                                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 355, Short.MAX_VALUE))
                            .addGap(97, 97, 97))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addContainerGap(404, Short.MAX_VALUE)
                            .addComponent(jButton1)
                            .addGap(243, 243, 243)))
                    .addGap(22, 22, 22))
            );
            jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGap(68, 68, 68)
                    .addComponent(jLabel1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(jButton2))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(18, 18, 18)
                    .addComponent(jButton1)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
    
            getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
    
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            setBounds((screenSize.width-283)/2, (screenSize.height-157)/2, 283, 157);
        }// </editor-fold>
    
        private void textloginMouseClicked(java.awt.event.MouseEvent evt) {                                       
           textlogin.selectAll(); // TODO add your handling code here:
        }                                      
    
        @SuppressWarnings("static-access")
        private void boutonconnexionMouseClicked(java.awt.event.MouseEvent evt) {                                             
    
                    if (textlogin.getText().equalsIgnoreCase("entrez votre login") || textlogin.getText().length() == 0)
                     {
                        JOptionPane.showMessageDialog(null,"Il faut rentrer un login","Attention",JOptionPane.YES_OPTION, null);
                        textlogin.selectAll();
                     }
                    else
                    {
                        String addresseserveur = (String) JOptionPane.showInputDialog(null,"Entrez @IP du serveur : ", "@IP serveur");
                        client.setLogin(textlogin.getText());
                        client.setmdp(textmotdepasse.getPassword());
                        client.SetInitAddress(addresseserveur);
    
                        client.demandedeconnexion();
    
                       // jFrame1.setVisible(true);
                        this.remove(jPanel1);
                        
                        //this.setPreferredSize(new Dimension(400, 500));
                        this.add(jPanel2);
                        jPanel2.setVisible(true);
                       // this.validate();
                        //this.update(getGraphics());
                       // jFrame1.setLocationRelativeTo(null);
                       // jFrame1.setPreferredSize(new Dimension(300, 200));
                       // this.setVisible(false);
                       // this.hide();
                       // this.dispose();
                        
                   }
    
        }                                            
    
        private void textmotdepasseMouseClicked(java.awt.event.MouseEvent evt) {                                            
            textmotdepasse.selectAll();     // TODO add your handling code here:
    }                                           
    
        private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
            client.envoimessage(jTextArea1.getText());
            jTextArea2.setText(jTextArea2.getText() + "\n=>" + client.login + " dit : \n"+jTextArea1.getText());
            jTextArea1.setText("");
        }                                     
    
        private void jTextArea1KeyPressed(java.awt.event.KeyEvent evt) {
            if(evt.getKeyChar() =='\n') {
                client.envoimessage(jTextArea1.getText());
                jTextArea2.setText(jTextArea2.getText() + "\n=>" + client.login + " dit : \n"+jTextArea1.getText());
                jTextArea1.setText("");
            }
            // TODO add your handling code here:
        }
    
        private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
            int position = jTable1.getSelectedRow();
    
            if (position >=0){
                client.invitation(String.valueOf(position));
            }
            else
            {
                JOptionPane.showMessageDialog(null,"Il faut choisir un client à inviter","Avertissement",JOptionPane.YES_OPTION);
            }
    
        }
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new InterfaceClient().setVisible(true);
                }
            });
        }
    
    
        // Variables declaration - do not modify
        private javax.swing.JButton boutonconnexion;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JScrollPane jScrollPane2;
        private javax.swing.JScrollPane jScrollPane3;
        private javax.swing.JTable jTable1;
        private javax.swing.JTextArea jTextArea1;
        private javax.swing.JTextArea jTextArea2;
        private javax.swing.JTextField textlogin;
        private javax.swing.JPasswordField textmotdepasse;
        // End of variables declaration
    
    }

  10. #10
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut

    donc tu essaie de cacher un panneau pour mettre un autre a sa place ?
    avec un jLayeredPane, tu fais ça facilement !

  11. #11
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message
    je suis obligé d'agrandir la fenêtre manuellement.
    bonjour.
    donc si on revient à ton premier poste on va comprendre que ton problème est tout simplement comment changer la taille d'une fenêtre dynamiquement

    donc pour résoudre ton problème, tu peux essayer ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    this.setSize(new Dimension(700,500));                   
    this.remove(jPanel1);
    this.add(jPanel2);
     jPanel2.setVisible(true);

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Merci pour ce code.
    En fait j'ai fait une autre façon mais en tout ça m'a permis d'ouvrir une nouvelle jframe de la bonne taille.

    Bon par contre maintenant j'ai un autre problème.... j'ai ma classe client qui doit communiquer avec un objet précis ( en sachant que plusieurs de ce même type sont creer), actuellement il communique qu'avec le dernier ouvert (ce sont des jframe).
    Y a t'il un moyen pour les identifer?,et faire qu'elle communique avec la bonne.

  13. #13
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message
    Y a t'il un moyen pour les identifer?,et faire qu'elle communique avec la bonne.
    bonjour.
    si je te réponds suivant ta question, je te propose d'ajouter un attribut à ta classe, qui va présenter l identifiant unique pour chaque objet créé

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Oki je vois,
    donc par exemple j'ai creer un attribut DateDiscussion.
    Qui sera donc différente à chaque fenetre ouverte ( à condition de faire un appel à des minutes différentes)
    Mais comment identifier cette fenêtre lorsque je veux modifier un champs dans celle ci en utilisant cet attribut.

    J'ai une premiere class qui creer un certain nombre de fenetre :
    new InterfaceDiscussion(client).setVisible(true);

    après j'ai une autre classe (client) qui vient modifier un élément de InterfaceDiscussion :
    InterfaceDiscussion.jTextArea_discussion.setText("toto");

    dans ce principe seul la dernière fenêtre ouverte est modifiée.

  15. #15
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message

    dans ce principe seul la dernière fenêtre ouverte est modifiée.
    tu utilise une collection(vecteur ) pour enregistrer tes instances , après tu fais un parcours et suivant l'identifiant de l'objet , tu fais ta modification.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par slim_java Voir le message
    tu utilise une collection(vecteur ) pour enregistrer tes instances , après tu fais un parcours et suivant l'identifiant de l'objet , tu fais ta modification.
    Si j'ai bien compris à chaque :
    new InterfaceDiscussion(client).setVisible(true);
    j'ajoute un "vecteur" ( faut que je vois comment on manipule ça),
    que je rende ce vecteur static public pour être vue par ma class client.
    après je parcours mon vecteur et dès que je trouve celui qui correspond à mon identifiant ( connu par ma class client) je peux modifier ses champs?
    comment déclarer mon identifiant?
    private String dateDiscussion; private ? public?

  17. #17
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message
    Si j'ai bien compris
    oui tu as bien compris mon idée

    Citation Envoyé par colas31 Voir le message
    identifiant ( connu par ma class client) je peux modifier ses champs?
    comment déclarer mon identifiant?
    private String dateDiscussion; private ? public?
    private et je te recommande d'utiliser des getter (getXXX ) et des setter(SetXXX) pour modifier tes champs.

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Bon ca me rassure je suis pas si bête que ca

    Ha oué c'est pas bête pour les get et set car en plus j'ai utiliser cette méthode pour une autre class, mais j'ai pas penser à l'utiliser ici.
    => modification va être faite.

    Je viens de voir pour remplir un vecteur c'est OK, mais pour trouver l'attribut d'une classe présente dans le vecteur je bloque un peu.

  19. #19
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par colas31 Voir le message
    Bon ca me rassure je suis pas si bête que ca

    Ha oué c'est pas bête pour les get et set car en plus j'ai utiliser cette méthode pour une autre class, mais j'ai pas penser à l'utiliser ici.
    => modification va être faite.

    mais pour trouver l'attribut d'une classe présente dans le vecteur je bloque un peu.
    a chaque fois tu va faire un test ; comme exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    case_collection.nom_attribut .equal("identifiant cherché");

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    Je parcours bien bon vecteur et récupère pour chaque enregistrement dans ce dernier l'attribut de la fenêtre (date). Sauf que cet attribut (dans le vecteur) est le même pour les 2 fenêtres ouvertes alors que dans les fenêtres même l'attribut n'as pas les même valeur...
    hum je sais pas si je suis très clair.

    Ex :
    fenetre 1 : dateDiscussionfenetre vaut 13h50
    fenetre 2 : dateDiscussionfenetre vaut 13h55


    si la fenetre qui fait appel a la méthode qui contient ce code est la fenetre 2:
    InterfaceClient.vect.elementAt(1).getClass().getName().valueOf(dateDiscussion) vaut 13h55
    InterfaceClient.vect.elementAt(2).getClass().getName().valueOf(dateDiscussion) vaut 13h55


    sinon l'heure vaut 13h50

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Reparenter une fenêtre X11 avec une JFrame ou un JPanel ?
    Par paranoia dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 06/08/2012, 10h52
  2. Changer Jpanel dans Jframe avec MVC
    Par ar0w4n4 dans le forum Débuter
    Réponses: 1
    Dernier message: 08/11/2010, 13h43
  3. Gestion Aide - Appliquer un JToolTip à un JFrame ou à un JPanel
    Par Luffy_San dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 11/02/2008, 00h35
  4. Gestion utilisateurs avec droits
    Par dr_look dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 27/04/2005, 16h03
  5. Faire une JFrame avec LookAndFeel
    Par aburner dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/12/2003, 08h54

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