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

 Java Discussion :

[Swing] Problème Fenetre modale


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Nimothenicefish
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 190
    Par défaut [Swing] Problème Fenetre modale
    Bonsoir à tous,

    voilà alors je débute vraiment en Java et là je concois d'abord ce qui sera la futur IHM de mon application.
    J'ai créer une fenetre mère et maintenant une fenetre fille. J'aimerais rendre la fenetre fille modale seulement ya comme qui dirait un p'tit soucis

    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
    class maJFrame2 extends JDialog{
    	//Appel des differents constructeurs des composants
    	private JLabel Labnom;
    	JLabel TextPrincipal = new JLabel("Ajout d'une formation !");
    	//Constructeur de la class
    	public maJFrame2()
    	{
    		//Appel du constructeur JFrame()
    		//avec le titre de la fenetre en parametre
    		//super("Inscriptions aux formations");
    		this.Labnom=new JLabel("Inscriptions aux formations");
    		//taille de la fenetre
     
    		//Lorsqu'on ferme la fenetre:
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//rend la fenetre visible
    		this.setModal(true);
    		setVisible(true);
            ...
            }
    Mon problème concerne le "this.setModal(true);
    lorsque celui ci se situe au dessus de setvisible(true), la fenetre fille devient bien modale, seulement le menu que j'ai créer plus bas n'apparait pas, une fenetre vide en soit. Et lorsque que je place this.setmodel(true) en dessous de setvisible(true), dans ce cas ma fenetre fille n'est plus modale et mon menue apparait, laissant ma fenetre opérationnelle.
    Quelqu'un aurait une solution ??

    Merci beaucoup

    Cordialement, Nimo

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Nimothenicefish Voir le message
    modale, seulement le menu que j'ai créer plus bas n'apparait pas, une fenetre vide en soit.
    On peut voir le code concerné?

  3. #3
    Membre confirmé Avatar de Nimothenicefish
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 190
    Par défaut
    Voici le code, un peu long, mais il y a tout :

    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
    import java.awt.*;
    import javax.swing.*;
     
    import java.awt.event.*;
     
    public class FenAjout {
    	public static void main(String args[]){
    		//Appel de a classe maJFrame pour construire la fenetre
    		maJFrame2 fenetre2 = new maJFrame2();
    	}
    }
     
    class maJFrame2 extends JDialog{
    	//Appel des differents constructeurs des composants
    	private JLabel Labnom;
    	JLabel TextPrincipal = new JLabel("Ajout d'une formation !");
    	//Constructeur de la class
    	public maJFrame2()
    	{
    		//Appel du constructeur JFrame()
    		//avec le titre de la fenetre en parametre
    		//super("Inscriptions aux formations");
    		this.Labnom=new JLabel("Inscriptions aux formations");
    		//taille de la fenetre
     
    		//Lorsqu'on ferme la fenetre:
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//rend la fenetre visible
    		this.setModal(true);
    		setVisible(true);
     
    		//Definition d'un panel
    		JPanel monPanel = new JPanel();
    		//couleur du panel
    		monPanel.setBackground(Color.WHITE);
     
    		//Appel du constructeur du layout
    		GridBagLayout monLayout = new GridBagLayout();
    		GridBagConstraints monGBC = new GridBagConstraints();
    		//Ajout du Layout au panel
    		monPanel.setLayout(monLayout);
     
    		//on ajoute les composants au conteneur
    		monGBC.gridx = 0;
    		monGBC.gridy = 5;		
    		monPanel.add(TextPrincipal, monGBC);
     
    		//Création de la barre menu
    		JMenuBar menu = new JMenuBar();
     
    		//Création des rubriques du menu
    		JMenu menuFichier = new JMenu();
     
    		//Création des sous rubriques
    		JMenuItem menuQuitter = new JMenuItem();
     
    		JMenuItem menuFormation = new JMenu();
    		JMenuItem menuAjouter = new JMenuItem();
    		JMenuItem menuSupprimer = new JMenuItem();
    		JMenuItem menuListeForm = new JMenuItem();
     
    		JMenuItem menuInscription = new JMenu();
    		JMenuItem menuInscrire = new JMenuItem();
     
    		JMenuItem menuAide = new JMenu();
    		JMenuItem menuAproposde = new JMenuItem();
     
    		//Propriete du menu
    		menu.setBackground(new Color(255, 255, 255));
    		menu.setBorder(null);
    		menu.setAutoscrolls(true);
    		menu.setBorderPainted(false);
    		menu.setName("menu");
    		menu.setOpaque(false);
     
    		//On indique les différentes étiquettes du menu et leurs sous-menu :
    		menuFichier.setText("Fichier");
    			menuQuitter.setText("Quitter");
    			menuFichier.add(menuQuitter);
    		menu.add(menuFichier);
     
    		menuFormation.setText("Formation");
    			menuAjouter.setText("Ajouter");
    			menuFormation.add(menuAjouter);
    			menuSupprimer.setText("Supprimer");
    			menuFormation.add(menuSupprimer);
    			menuListeForm.setText("Liste des formations");
    			menuFormation.add(menuListeForm);
    		menu.add(menuFormation);
     
    		menuInscription.setText("Inscription");
    			menuInscrire.setText("S'inscrire");
    			menuInscription.add(menuInscrire);
    		menu.add(menuInscription);
     
    		menuAide.setText("?");
    			menuAproposde.setText("A propos de");
    			menuAide.add(menuAproposde);
    		menu.add(menuAide);
     
    		//On déclare l'ecoute de la souris pour le menu sous-menu Quitter
    		menuQuitter.addMouseListener(new java.awt.event.MouseAdapter() {
    			public void mousePressed(java.awt.event.MouseEvent evt) {
    				menuQuitterMousePressed(evt);
    			}
    		});
     
    		//on applique ce menu dans la JFrame
    		setJMenuBar(menu);
     
    		//on ajoute le panel a la JFrame
    		getContentPane().add(monPanel);
     
    		//On lance la fenetre avec le panel
    		//qui sera redimenssionné en fonction du menu
    		pack();
    		monPanel.setSize(600,400);
    	}
     
    	//Methode s'executant lors d'un click sur le sous-menu Quitter
    	protected void menuQuitterMousePressed(MouseEvent evt) {
    		//on quitte l'application
    		System.exit(0);
    	}
    }

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    met le setVisible(true) après la création du contenu de la fenetre.

  5. #5
    Membre confirmé Avatar de Nimothenicefish
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 190
    Par défaut
    Merci bcp ca marche maintenant

Discussions similaires

  1. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  2. [Swing] Problème avec un bean et un arraylist
    Par kikoufr dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 30/09/2004, 09h08
  3. [Swing] problème d'affichage
    Par l'obstiné dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 21/08/2004, 18h05
  4. Touche "Entrée" et fenetre modale
    Par pascalT dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/07/2004, 16h57
  5. [SWING] Problème de rafraichissement
    Par david71 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 24/05/2004, 15h38

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