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

Agents de placement/Fenêtres Java Discussion :

[JFrame] double affichage puis x3..


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut [JFrame] double affichage puis x3..
    Bonjour tout le monde,

    J'ai un petit probléme avec mon interface graphique, j'ai un actionlistener sur un JMenuItem. Cet ActionListener crée une JFrame. La première fois tout est normal puis apres si je clique une deuxieme fois j'ai un double affichage des composants puis si je reclic affichage X3.
    Pour Quitter cette JFrame j'utilise un Dispose mais l'object n'est pas détruit donc il doit rester en mémoire.
    Commen l'enlever de la memoire ?


    Merci pour vos reponses.

  2. #2
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Tu as un double affichage? C'est-à-dire? Tu as 2 fois les mêmes boutons dans ta fenêtre ou tu as 2 fenêtres identiques?

    Pour ce qui est de la destruction, as-tu ajouté cette ligne lors de la création de ta frame?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    Si non, essaie avec

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    c'est la même fenêtre mais les composants à l'intérieur sont en doubles.
    Pour le JFrame.DISPOSE_ON_CLOSE il est bien mis, d'ailleur je n'ai jamais eu ce genre de problème avant, c'est pour cela que je suis un peu étonné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    connex = new JFrame("Connexion");
    connex.setSize(600,150);
    connex.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    connex.setVisible(true);

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    C'est sioux...
    On peut voir comment tu construis ta frame (le constructeur en entier)?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    En fait cela fait un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    JFrame machin;
    class connexion implements ActionListener{
     public void actionPerformed(ActionEvent ae){
    machin = new JFrame("Connexion");
    machin.setSize(600,150);
    machin.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    deconnect.setEnabled(true);
    connect.setEnabled(false);
    .
    .
    .
    machin.setVisible(true);
    }
    fermeture avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class fermerFenetre implements ActionListener{
    	public void actionPerformed(ActionEvent ae){
    		fermeture();
    	}
    }
     
    public void fermeture(){
    		machin.dispose();
    }

  6. #6
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Et où est-ce que tu ajoutes tes composants qui sont en double ou triple?

    Parce que là, a priori, c'est bon puisque tu fais un new JFrame() à chaque fois. Mais peut-être y a t'il un problème avec ton ajout de composants...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    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
     
    //Création de l'interface
    			//Positionnement
    			pane = getContentPane();
    			GridBagLayout layout = new GridBagLayout();
    		    pane.setLayout(layout);
    		    GridBagConstraints contraintes = new GridBagConstraints();
     
    		    //Création des éléments graphiques
    		    JLabel mode = new JLabel("Mode de connexion");
    		    group = new ButtonGroup();
    		    client = new JRadioButton("Client", true);
    		    client.setActionCommand("client");
    		    serveur = new JRadioButton("Serveur", false);
    		    serveur.setActionCommand("serveur");
    		    group.add(client);
    		    group.add(serveur);
    		    JLabel label = new JLabel("IP du serveur : ");
    		    ip = new JTextField(20);
    		    JButton ok = new JButton("OK");
    			JButton annuler = new JButton("Annuler");
     
    			//Action des éléments graphiques
    			annuler.addActionListener(new fermerFenetre());
    			ok.addActionListener(new choixMode());
     
    			//Position des composants dans l'interface
    			contraintes.gridwidth = 4;
    			contraintes.gridx = 1;
    			contraintes.gridy = 1;
    			layout.setConstraints(mode,contraintes);
    			contraintes.gridwidth = 1;
    			contraintes.gridy=2;
    			contraintes.gridx=1;
    			layout.setConstraints(client,contraintes);
    			contraintes.gridx = 3;
    			layout.setConstraints(label,contraintes);
    			contraintes.gridx= 4;
    			layout.setConstraints(ip,contraintes);
    			contraintes.gridx = 1;
    			contraintes.gridy=3;
    			layout.setConstraints(serveur,contraintes);
    			contraintes.gridy = 4;
    			layout.setConstraints(ok,contraintes);
    			contraintes.gridx = 4;
    			layout.setConstraints(annuler,contraintes);
     
    			//Ajout des composants
    			pane.add(mode);
    			pane.add(client);
    			pane.add(label);
    			pane.add(ip);
    			pane.add(serveur);
    			pane.add(ok);
    			pane.add(annuler);
    			connex.add(pane);
     
    			//Affichage
    			connex.setVisible(true);

  8. #8
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Essaie de remplacer le
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connex.setContentPane(pane);
    Si connex est bien ta frame...

    [EDIT]
    D'ailleurs si le code que tu viens de mettre est le constructeur de ta frame et que tu appelles juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connex connex = new Connex();
    ton problème doit venir de là.

    Fais un au début de ton constructeur...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    J'ai fais pas mal de changement mais je crois que plus j'y touche plus le code merde.

    Voici le code à l'etat actuel.
    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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Interface extends JFrame{
     
    	//Thread client/serveur
    	public Receptor serv;
    	public Emetor cli;
     
    	//Etat thread client/serveur
    	public int actifServeur = 0;
    	public int actifClient = 0;
     
     
     
    	//Compososant de la barre menu
    	public JMenu connection;
    	public JMenuItem connect;
    	public JMenuItem deconnect;
     
     
     
    	//Constructeur Interface d JMorpion
    	Interface(){
    		super("JMorpion");
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setSize(300,300);
    		BarMenu();
    		setVisible(true);
    	}
    	public void BarMenu(){
     
    		//Creation de la barre de menu
    		JMenuBar menu = new JMenuBar();
     
    		//Creation des menus
    		connection = new JMenu("Connexion");
    		JMenu jouer = new JMenu("Jouer");
     
    		//Creations des actions
    		connect = new JMenuItem("Connexion");
    		deconnect = new JMenuItem("Deconnexion");
    		deconnect.setEnabled(false);
    		JMenuItem newpart = new JMenuItem("Nouvelle...");
     
    		//Methodes des éléments
    		connect.addActionListener(new connexion());
    		deconnect.addActionListener(new deconnexion());
     
    		//insertion des actions dans les menus
    		connection.add(connect);
    		connection.add(deconnect);
    		jouer.add(newpart);
     
    		//Insertion des menus dans la barre
    		menu.add(connection);
    		menu.add(jouer);
     
    		//Insertion de la barre
    		setJMenuBar(menu);
    	}
     
     
    	//Action avec JFrame pour le choix de la connextion
    	class connexion implements ActionListener{
     
     
    		//Composant de la JFrame connexion
    		JFrame connex;
    		ButtonGroup group;
    		JRadioButton client;
    		JRadioButton serveur;
    		JTextField ip;
    		JLabel mode;
    		JButton ok;
    		Container pane;
    		JLabel label;
    		JButton annuler;
     
    		public void actionPerformed(ActionEvent ae){
     
    			//Création de la fenetre
    			connex = new JFrame("Connexion");
    			connex.setSize(600,150);
    			connex.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    			deconnect.setEnabled(true);
    			connect.setEnabled(false);
     
    			//Création de l'interface
    			//Positionnement
    			pane = getContentPane();
    			GridBagLayout layout = new GridBagLayout();
    		    pane.setLayout(layout);
    		    GridBagConstraints contraintes = new GridBagConstraints();
     
    		    //Création des éléments graphiques
    		    mode = new JLabel("Mode de connexion");
    		    group = new ButtonGroup();
    		    client = new JRadioButton("Client", true);
    		    client.setActionCommand("client");
    		    serveur = new JRadioButton("Serveur", false);
    		    serveur.setActionCommand("serveur");
    		    group.add(client);
    		    group.add(serveur);
    		    label = new JLabel("IP du serveur : ");
    		    ip = new JTextField(20);
    		    ok = new JButton("OK");
    			annuler = new JButton("Annuler");
     
    			//Action des éléments graphiques
    			annuler.addActionListener(new fermerFenetre());
    			ok.addActionListener(new choixMode());
     
    			//Position des composants dans l'interface
    			contraintes.gridwidth = 4;
    			contraintes.gridx = 1;
    			contraintes.gridy = 1;
    			layout.setConstraints(mode,contraintes);
    			contraintes.gridwidth = 1;
    			contraintes.gridy=2;
    			contraintes.gridx=1;
    			layout.setConstraints(client,contraintes);
    			contraintes.gridx = 3;
    			layout.setConstraints(label,contraintes);
    			contraintes.gridx= 4;
    			layout.setConstraints(ip,contraintes);
    			contraintes.gridx = 1;
    			contraintes.gridy=3;
    			layout.setConstraints(serveur,contraintes);
    			contraintes.gridy = 4;
    			layout.setConstraints(ok,contraintes);
    			contraintes.gridx = 4;
    			layout.setConstraints(annuler,contraintes);
     
    			//Ajout des composants
    			pane.add(mode);
    			pane.add(client);
    			pane.add(label);
    			pane.add(ip);
    			pane.add(serveur);
    			pane.add(ok);
    			pane.add(annuler);
    			connex.setContentPane(pane);
     
    			//Affichage
    			connex.setVisible(true);
    		}
     
    		//traitement des infos du choix de mode de connection
    		class choixMode implements ActionListener{
    			public void actionPerformed(ActionEvent ae){
     
    				//Connexion en mode serveur
    				if(group.getSelection().getActionCommand().compareToIgnoreCase("serveur")==0){
    					serv = new Receptor();
    					serv.setDaemon(true);
    					serv.start();
    					actifServeur = 1;
    					fermeture();
    				}
     
    				//Connexion en mode client
    				else if(group.getSelection().getActionCommand().compareToIgnoreCase("client")==0){
    					String ipstring = ip.getText();
    					 cli = new Emetor(ipstring);
    					cli.setDaemon(true);
    					cli.start();
    					actifClient = 1;
    					fermeture();
    				}
     
    				//Erreur de choix de connexion
    				else{
    					System.out.println("Erreur lors du choix de la connexion");
    					System.out.println(ae.getActionCommand());
    				}
    			}
    		}
     
    		//Action de fermeture de la JFrame du choix de la connexion avec boutton annuler
    		class fermerFenetre implements ActionListener{
    			public void actionPerformed(ActionEvent ae){
    				fermeture();
    			}
    		}
     
    		//Fermeture de la JFrame du choix de connexion
    		public void fermeture(){
    			connex.dispose();
    		}
    	}
     
     
     
    	//Deconnexion du thread, soit serveur ou client.
    	class deconnexion implements ActionListener{
    		public void actionPerformed(ActionEvent ae){
    			if(actifServeur==1){
    				serv.fin();
    			}else if(actifClient==1){
    				cli.fin();
    			}else{
    				System.out.println("Application pas connecte");
    			}
    			deconnect.setEnabled(false);
    			connect.setEnabled(true);
    		}
    	}
     
    	//A voir
    	public void Client(){
     
    	}
     
    	//A voir
    	public void Serveur(){
     
    	}
    }

  10. #10
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Déjà, essaie de ne pas utiliser ta variable pane, mais utilise directement getContentPane() pour tes add(...) et vire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connex.setContentPane(pane);
    Dis moi ce que ça donne...

  11. #11
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Jour de bonté...
    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
     
     
    			public void actionPerformed(ActionEvent ae){
     
    				//Création de la fenetre
    				connex = new JFrame("Connexion");
    				connex.setSize(600,150);
    				connex.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    				deconnect.setEnabled(true);
    				connect.setEnabled(false);
     
    				//Création de l'interface
    				//Positionnement
    				GridBagLayout layout = new GridBagLayout();
    //			    getContentPane().setLayout(layout);
    				getContentPane().setLayout(new BorderLayout());
    			    JPanel panel = new JPanel();
    			    panel.setLayout(layout);
    			    GridBagConstraints contraintes = new GridBagConstraints();
     
    			    //Création des éléments graphiques
    			    mode = new JLabel("Mode de connexion");
    			    group = new ButtonGroup();
    			    client = new JRadioButton("Client", true);
    			    client.setActionCommand("client");
    			    serveur = new JRadioButton("Serveur", false);
    			    serveur.setActionCommand("serveur");
    			    group.add(client);
    			    group.add(serveur);
    			    label = new JLabel("IP du serveur : ");
    			    ip = new JTextField(20);
    			    ok = new JButton("OK");
    				annuler = new JButton("Annuler");
     
    				//Action des éléments graphiques
    				annuler.addActionListener(new fermerFenetre());
    				ok.addActionListener(new choixMode());
     
    				//Position des composants dans l'interface
    				contraintes.gridwidth = 4;
    				contraintes.gridx = 1;
    				contraintes.gridy = 1;
    				panel.add(mode,contraintes);
    //				layout.setConstraints(mode,contraintes);
    				contraintes.gridwidth = 1;
    				contraintes.gridy=2;
    				contraintes.gridx=1;
    				panel.add(client,contraintes);
    //				layout.setConstraints(client,contraintes);
    				contraintes.gridx = 3;
    				panel.add(label,contraintes);
    //				layout.setConstraints(label,contraintes);
    				contraintes.gridx= 4;
    				panel.add(ip,contraintes);
    //				layout.setConstraints(ip,contraintes);
    				contraintes.gridx = 1;
    				contraintes.gridy=3;
    				panel.add(serveur,contraintes);
    //				layout.setConstraints(serveur,contraintes);
    				contraintes.gridy = 4;
    				panel.add(ok,contraintes);
    //				layout.setConstraints(ok,contraintes);
    				contraintes.gridx = 4;
    				panel.add(annuler,contraintes);
    //				layout.setConstraints(annuler,contraintes);
     
    				//Ajout des composants
    				connex.getContentPane().add(panel, BorderLayout.CENTER);
    //				getContentPane().add(mode);
    //				getContentPane().add(client);
    //				getContentPane().add(label);
    //				getContentPane().add(ip);
    //				getContentPane().add(serveur);
    //				getContentPane().add(ok);
    //				getContentPane().add(annuler);
    //				connex.setContentPane(pane);
     
    				//Affichage
    				connex.setVisible(true);
    			}
    N'oublie pas le tag résolu...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    Merci cela fonctionne bien.
    Mais je ne comprends pas mon erreur.
    Un peu plus d'explications si possible ?

  13. #13
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pane = getContentPane();
    Déjà ça, ça te renvoyait le contentPane de ta classe Interface et non pas de ta JFrame connex...

    Ensuite, je ne sais pas si tu peux ajouter directement des composants en utilisant un GridBagLayout sur ton contentPane, sans passer par un panel...

  14. #14
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    J'ai testé en remettant quasiment ton code d'origine et en affectant pane avec connex.getContentPane() et ça marche, donc c'était juste ça qui faisait bugger...

    Tu ajoutais tes composants au contentPane de Interface, puis lorsque tu rouvrais cette fenêtre, tu récupérais le contentPane contenant déjà tes composants et tu rajoutais tous tes composants => doublon.

    Voili voilou!

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 95
    Points : 47
    Points
    47
    Par défaut
    OKi merci beaucoup donc je me trompais de JFrame.
    Merci beaucoup pour ta patience

  16. #16
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    De rien, on m'a aidé (et on m'aide encore), c'est normal que je fasse la même chose en retour...

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

Discussions similaires

  1. Double affichage du menu dans JFrame
    Par houssine91 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 07/09/2012, 19h13
  2. Réponses: 1
    Dernier message: 13/11/2006, 18h37
  3. [PHP-JS] Pb de double affichage
    Par cell dans le forum Langage
    Réponses: 8
    Dernier message: 23/08/2006, 14h10
  4. [Tableaux] probleme de double affichage
    Par clovis200 dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2006, 16h54
  5. [Graphique] JFrame et affichage d'un menu
    Par mavina dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 25/11/2005, 20h18

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