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 :

Problème d'affichage lors du changement de panel


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Problème d'affichage lors du changement de panel
    Bonjour,

    Je vous évoque mon problème, je suis actuellement en train de mettre en place une application de gestion de personne. J'ai crée une interface graphique ou je peux ajouter une personne, en remplissant tous les champs nécessaires à sa création et ou je peux supprimer une personne, en faisant une recherche avec son nom et son prénom.

    J'ai donc deux panels, un me permettant de rechercher une personne par son nom et son prénom et un me permettant de modifier chacun de ses champs. Je veux maintenant traiter le cas de la modification d'une personne, pour se faire, plutôt que de recopier tout le code des deux panels dans une seule classe, j'ai décidé de ne pas créer de panel ModifierPersonne mais de changer mes deux panels ajouter et supprimer en ajoutant des conditions me permettant d'utiliser la modification par leur biais.

    Ça fonctionne bien, je peux rechercher puis modifier la personne mais j'ai des soucis d'ordre en graphique, en effet les labels disparaissent lors de la modification des champs et les boutons n'apparaissent que quand je passe la souris dessus.
    Je pense que le problème viens de l'ajout, que j'effectue dans mon listener de cette façon :
    monPanelRechercherPersonne.getTopLevelAncestor().add(monPan);
    Je ne crois pas que ce soit la bonne manière de changer de panel, mais je ne vois pas vraiment quoi faire d'autre. J'ai essayé des repaint dans tous les sens mais ça n'a jamais rien donné. J'espère que vous pourrez m'aider.

    Voici mon code ultra-simplifié :
    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
    import java.awt.CardLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
     
    public class PanelListe extends JFrame {
     
    	private static final long serialVersionUID = 1L;
     
    	//Va permettre au système de connaitre le panel en cours et autoriser ou non la selection d'un menu
    	static final String[] PANEL = {"p0", "p1", "p2", "p3"};
    	static String monPanelEnCours = PANEL[0];
     
    	public PanelListe() {
     
    		final JPanel panelPrincipal = new JPanel ();
    		panelPrincipal.setLayout(new CardLayout ());
     
    		PanelCreerPersonne monPanelCreerPersonne = null;
    		monPanelCreerPersonne = new PanelCreerPersonne ("Creer", -1);
    		PanelRechercherPersonne monPanelModifierPersonne = new PanelRechercherPersonne ("Modifier");
    		PanelRechercherPersonne monPanelSupprimerPersonne = new PanelRechercherPersonne ("Supprimer");
     
    		//Le panel p0 est un panel vide qui est celui par défaut
    		panelPrincipal.add(PANEL[0], new JPanel());
    		panelPrincipal.add(PANEL[1], monPanelCreerPersonne);
    		panelPrincipal.add(PANEL[2], monPanelModifierPersonne);
    		panelPrincipal.add(PANEL[3], monPanelSupprimerPersonne);
     
    		this.add(panelPrincipal);
     
    		JMenuBar menuPrincipal = new JMenuBar();
     
    		JMenu menuFichier = new JMenu("Fichier");
    		JMenu menuPersonne = new JMenu("Personne");
     
    		JMenuItem quitter = new JMenuItem("Quitter");
    		final JMenuItem creerPersonne = new JMenuItem("Creer une personne");
    		final JMenuItem modifierPersonne = new JMenuItem("Modifier une personne");
    		final JMenuItem supprimerPersonne = new JMenuItem("Supprimer une personne");
     
     
    		class ActionListenerQuitter implements ActionListener {
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				System.exit(0);
    			}
    		}
    		quitter.addActionListener(new ActionListenerQuitter ());	
     
     
    		class ActionListenerPersonne implements ActionListener {
     
    			private String panelACharger = PANEL[0];
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				if (arg0.getActionCommand().equals(creerPersonne.getActionCommand())) {
    					panelACharger = PANEL[1];
    				}
     
    				if (arg0.getActionCommand().equals(modifierPersonne.getActionCommand())) {
    					panelACharger = PANEL[2];
    				}
     
    				if (arg0.getActionCommand().equals(supprimerPersonne.getActionCommand())) {
    					panelACharger = PANEL[3];
    				}
     
    				//Si on est sur le panel par défaut vide
    				if (monPanelEnCours.equals(PANEL[0])) {
    					((CardLayout) panelPrincipal.getLayout()).show(panelPrincipal, panelACharger);
    					monPanelEnCours = panelACharger;
    				}
     
    				else {
    					JOptionPane.showMessageDialog(null, "Quitter d'abord le menu actuel avant d'en selectionner un autre.", "Information", JOptionPane.INFORMATION_MESSAGE);
    				}
    			}
    		}
     
    		creerPersonne.addActionListener(new ActionListenerPersonne ());
    		modifierPersonne.addActionListener(new ActionListenerPersonne ());
    		supprimerPersonne.addActionListener(new ActionListenerPersonne ());
     
    		menuFichier.add(quitter);
    		menuPersonne.add(creerPersonne);
    		menuPersonne.add(modifierPersonne);
    		menuPersonne.add(supprimerPersonne);
     
    		menuPrincipal.add(menuFichier);
    		menuPrincipal.add(menuPersonne);
     
    		this.setJMenuBar(menuPrincipal);
    	}
     
    	public static void main(String[] args) {
    		PanelListe fenetre = new PanelListe();
    		fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		fenetre.setTitle("Test");
    		fenetre.setSize(700, 500);
    		fenetre.setVisible(true);
    	}
     
    }
    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
    import java.awt.BorderLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    public class PanelCreerPersonne extends JPanel {
     
    	private GererPersonneCtrl ctrlUseCase;
     
    	private static final long serialVersionUID = 1L;
     
    	private JLabel jlNom;
    	private JLabel jlPrenom;
     
    	private JTextField jtfNom = new JTextField(46);
    	private JTextField jtfPrenom = new JTextField(46);
     
    	private JButton jbValider;
    	private JButton jbQuitter;
     
    	private String typeDeTraitement;
    	private int idPersonneAModifie = -1;
     
    	public PanelCreerPersonne(String typeDeTraitement, int idPersonneAModifie) {
    		this.ctrlUseCase = new GererPersonneCtrl();
    		this.typeDeTraitement = typeDeTraitement;
     
    		if (typeDeTraitement.equals("Creer")) {
    			this.PanelGererInfosPersonne();
    		}
     
    		if (typeDeTraitement.equals("Modifier") && idPersonneAModifie > -1) {
    			this.idPersonneAModifie = idPersonneAModifie;
     
    			PersonneDTO persTempo = this.ctrlUseCase.modifierPersonne(this.idPersonneAModifie, "0", "0");
     
    			//this.jtfNom.setText(persTempo.getNom());
    			//this.jtfPrenom.setText(persTempo.getPrenom());
     
    			//Pour l'exemple
    			this.jtfNom.setText("Test");
    			this.jtfPrenom.setText("Test");
     
    			this.PanelGererInfosPersonne();
    		}
    	}
     
    	public void PanelGererInfosPersonne() {
     
    		jlNom = new JLabel("Nom :");
    		jlPrenom = new JLabel("Prenom :");
     
    		jbValider = new JButton("Valider");
    		jbQuitter = new JButton("Quitter");
     
    		//Utilisation d'une classe interne locale
    		class ActionListenerValider implements ActionListener {
     
    			private PanelCreerPersonne monPanelCreerPersonne;
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				PersonneDTO persDTO = null;
     
    				if (monPanelCreerPersonne.typeDeTraitement.equals("Creer")) {
    					int idPersonne = 0;
     
    					idPersonne = ctrlUseCase.dernierIdPersonne()+1;
     
    					persDTO = new PersonneDTO(idPersonne, jtfNom.getText(), jtfPrenom.getText());
     
    					ctrlUseCase.creerPersonne(persDTO);
    					JOptionPane.showMessageDialog(jbValider, jtfNom.getText()+" "+jtfPrenom.getText()+" a bien été enregistré(e) comme Personne", "Information", JOptionPane.INFORMATION_MESSAGE);
    					this.monPanelCreerPersonne.reinitialiserFormulaire();
    				}
     
    				if (monPanelCreerPersonne.typeDeTraitement.equals("Modifier")) {
     
    					persDTO = new PersonneDTO(monPanelCreerPersonne.idPersonneAModifie, jtfNom.getText(), jtfPrenom.getText());
     
    					ctrlUseCase.modifierPersonneAll(persDTO);
     
    					JOptionPane.showMessageDialog(jbValider, jtfNom.getText()+" "+jtfPrenom.getText()+" a bien été modifié", "Information", JOptionPane.INFORMATION_MESSAGE);
    					this.monPanelCreerPersonne.reinitialiserFormulaire();
    				}
    			}
     
    			ActionListenerValider (PanelCreerPersonne monPanelCreerPersonne) {
    				this.monPanelCreerPersonne = monPanelCreerPersonne;
    			}
    		}
     
    		jbValider.addActionListener (new ActionListenerValider (this));
     
     
    		//Utilisation d'une classe interne locale
    		class ActionListenerQuitter implements ActionListener {
     
    			private PanelCreerPersonne monPanelCreerPersonne;
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				this.monPanelCreerPersonne.setVisible(false);
    				this.monPanelCreerPersonne.reinitialiserFormulaire();
    				//On indique au système que le panel en cours est celui par défaut
    				PanelListe.monPanelEnCours = PanelListe.PANEL[0];
    			}
     
    			ActionListenerQuitter (PanelCreerPersonne monPanelCreerPersonne) {
    				this.monPanelCreerPersonne = monPanelCreerPersonne;
    			}
    		}
     
    		jbQuitter.addActionListener(new ActionListenerQuitter (this));
     
     
    		//Affichage
    		this.setLayout(new BorderLayout());
     
    		final JPanel jpButton = new JPanel();
     
    		final JPanel jpInformation = new JPanel();
    		jpInformation.setLayout(new BoxLayout(jpInformation,
    				BoxLayout.PAGE_AXIS));
     
    		final JPanel jpPersonne = new JPanel();
    		jpPersonne.setLayout(new GridBagLayout());
     
    		// Contrainte label
    		final GridBagConstraints gbcLabel = new GridBagConstraints();
    		gbcLabel.fill = GridBagConstraints.HORIZONTAL;
    		gbcLabel.gridx = 0;
     
    		// Contrainte texte
    		final GridBagConstraints gbcText = new GridBagConstraints();
    		gbcText.fill = GridBagConstraints.HORIZONTAL;
    		gbcText.gridx = 1;
     
     
    		// Personne		
    		gbcLabel.gridy = 1;
    		jpPersonne.add(jlNom, gbcLabel);
    		gbcText.gridy = 1;
    		jpPersonne.add(jtfNom, gbcText);
     
    		gbcLabel.gridy = 2;
    		jpPersonne.add(jlPrenom, gbcLabel);
    		gbcText.gridy = 2;
    		jpPersonne.add(jtfPrenom, gbcText);
     
    		jpInformation.add(jpPersonne);
     
    		this.add(jpInformation, BorderLayout.CENTER);
     
    		jpButton.add(jbValider);
    		jpButton.add(jbQuitter);
    		this.add(jpButton, BorderLayout.SOUTH);
     
    	}
     
    	public void reinitialiserFormulaire() {
    		jtfNom.setText("");
    		jtfPrenom.setText("");
    	}
    }
    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
    import java.awt.BorderLayout;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
     
    public class PanelRechercherPersonne extends JPanel {
     
     
    	private GererPersonneCtrl ctrlUseCase;
     
    	private static final long serialVersionUID = 1L;
     
    	private JLabel jlTitre;
    	private JLabel jlNom;
    	private JLabel jlPrenom;
     
    	private JTextField jtfNom;
    	private JTextField jtfPrenom;
     
    	private JButton jbValider;
    	private JButton jbQuitter;
     
    	private String typeDeTraitement;
     
    	public PanelRechercherPersonne() {}
     
    	public PanelRechercherPersonne(String typeDeTraitement) {
    		this.typeDeTraitement = typeDeTraitement;
     
    		if (typeDeTraitement.equals("Supprimer")) {
    			this.jlTitre = new JLabel("Veuillez tapez le nom et le prénom de la personne à supprimer.");
    			this.PanelPersonne();
    		}
    		if (typeDeTraitement.equals("Modifier")) {
    			this.jlTitre = new JLabel("Veuillez tapez le nom et le prénom de la personne à modifier.");
    			this.PanelPersonne();
    		}
    	}
     
    	public void PanelPersonne () {
    		this.ctrlUseCase = new GererPersonneCtrl();
     
    		jlNom = new JLabel("Nom :");
    		jlPrenom = new JLabel("Prenom :");
     
    		jtfNom = new JTextField(46);
    		jtfPrenom = new JTextField(46);
     
    		jbValider = new JButton("Valider");
    		jbQuitter = new JButton("Quitter");
     
    		//Utilisation d'une classe interne locale
    		class ActionListenerValider implements ActionListener {
     
    			private PanelRechercherPersonne monPanelRechercherPersonne;
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				int idPersonne = -1;
    				boolean listeEstVide = true;
     
    				listeEstVide = ctrlUseCase.listeEstVide();
     
    				if(!listeEstVide) {
     
    						idPersonne = ctrlUseCase.rechercherPersonne(jtfNom.getText(), jtfPrenom.getText());
     
    						if (idPersonne>=0) {
    							if (monPanelRechercherPersonne.typeDeTraitement.equals("Supprimer")) {
    								ctrlUseCase.supprimerPersonne(idPersonne);
    								JOptionPane.showMessageDialog(jbValider, "La suppression a bien fonctionné", "Information", JOptionPane.INFORMATION_MESSAGE);
    								this.monPanelRechercherPersonne.reinitialiserFormulaire();
    							}
    							if (monPanelRechercherPersonne.typeDeTraitement.equals("Modifier")) {
     
    								this.monPanelRechercherPersonne.setVisible(false);
    								this.monPanelRechercherPersonne.reinitialiserFormulaire();
     
    								PanelCreerPersonne monPan = new PanelCreerPersonne("Modifier", idPersonne);
     
    								monPanelRechercherPersonne.getTopLevelAncestor().add(monPan);
    							}
    						}
    						else {
    							JOptionPane.showMessageDialog(jbValider, "Aucune personne correspondante n'a été trouvé", "Information", JOptionPane.INFORMATION_MESSAGE);
    						}
    				}
    				else {
    					JOptionPane.showMessageDialog(jbValider, "La liste est vide", "Information", JOptionPane.INFORMATION_MESSAGE);
    				}
    			}
     
    			ActionListenerValider (PanelRechercherPersonne monPanelRechercherPersonne) {
    				this.monPanelRechercherPersonne = monPanelRechercherPersonne;
    			}
    		}
     
    		jbValider.addActionListener (new ActionListenerValider (this));
     
    		//Utilisation d'une classe interne locale
    		class ActionListenerQuitter implements ActionListener {
     
    			private PanelRechercherPersonne monPanelRechercherPersonne;
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				this.monPanelRechercherPersonne.setVisible(false);
    				this.monPanelRechercherPersonne.reinitialiserFormulaire();
     
    				//On indique au système que le panel en cours est celui par défaut
    				PanelListe.monPanelEnCours = PanelListe.PANEL[0];
    			}
     
    			ActionListenerQuitter (PanelRechercherPersonne monPanelRechercherPersonne) {
    				this.monPanelRechercherPersonne = monPanelRechercherPersonne;
    			}
    		}
     
    		jbQuitter.addActionListener(new ActionListenerQuitter (this));
     
     
    		//Affichage
    		this.setLayout(new BorderLayout());
     
    		final JPanel jpButton = new JPanel();
     
    		final JPanel jpInformation = new JPanel();
    		jpInformation.setLayout(new BoxLayout(jpInformation,
    				BoxLayout.PAGE_AXIS));
     
     
    		final JPanel jpPersonne = new JPanel();
    		jpPersonne.setLayout(new GridBagLayout());
     
    		// Contrainte label
    		final GridBagConstraints gbcLabel = new GridBagConstraints();
    		gbcLabel.fill = GridBagConstraints.HORIZONTAL;
    		gbcLabel.gridx = 0;
     
    		// Contrainte texte
    		final GridBagConstraints gbcText = new GridBagConstraints();
    		gbcText.fill = GridBagConstraints.HORIZONTAL;
    		gbcText.gridx = 1;
     
     
    		// Affichage
    		gbcText.gridy = 0;
    		jpPersonne.add(jlTitre, gbcText);
     
    		gbcLabel.gridy = 1;
    		jpPersonne.add(jlNom, gbcLabel);
    		gbcText.gridy = 1;
    		jpPersonne.add(jtfNom, gbcText);
     
    		gbcLabel.gridy = 2;
    		jpPersonne.add(jlPrenom, gbcLabel);
    		gbcText.gridy = 2;
    		jpPersonne.add(jtfPrenom, gbcText);
     
    		jpInformation.add(jpPersonne);		
    		this.add(jpInformation, BorderLayout.CENTER);
     
    		jpButton.add(jbValider);
    		jpButton.add(jbQuitter);
    		this.add(jpButton, BorderLayout.SOUTH);
    	}
     
    	public void reinitialiserFormulaire() {
    		jtfNom.setText("");
    		jtfPrenom.setText("");
    	}
     
     
    }

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    De manière générale, c'est un très mauvais choix de modifier les composants graphiques au runtime.

    Dans ton cas, tu n'as pas fait de revalidate sur le composant parent qui voit son contenu modifier.

    Pour changer de JPanel, il faut le plus souvent utiliser le layout CardLAyout, il est là pour ça. Son principe de fonctionnement ressemble à celui d'un tas de carte, on voit uniquement la carte du haut. Ce layout possède plusieurs méthode (first, last, next, previous, show) permettant d'afficher le JPanel que l'on veut.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. [Dev-Pascal] [GNU Pascal] Problème d'affichage lors de l'exécution d'un programme
    Par Mourad III dans le forum Autres IDE
    Réponses: 2
    Dernier message: 03/11/2010, 02h19
  2. [DisplayTag] Problème d'affichage lors de l'export
    Par ABDOU1919 dans le forum Taglibs
    Réponses: 0
    Dernier message: 30/04/2010, 19h53
  3. Problème d'affichage lors d'une requête SNMP
    Par Guy025 dans le forum Réseau
    Réponses: 6
    Dernier message: 21/08/2008, 11h34
  4. [C#] problème scintillement lors du changement de panel
    Par chasse dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/10/2006, 15h00
  5. Problème d'affichage lors du redimensionnement
    Par sidi.elmoctar dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/04/2006, 08h44

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