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 :

[débutant]2 petits problèmes avec JDialog


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre habitué Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Points : 185
    Points
    185
    Par défaut [débutant]2 petits problèmes avec JDialog
    Bonjour,
    J'ai 2 problèmes sur une JDialog
    1) la JDialog ne se centre pas au centre de la JFrame, et se décale en bas à droite

    2) Lorsque regarde une autre fenetre dans la barre de tâche Windaub (par exemple le forum ), puis je re passe sur mon programme la JDialog disparait !


    merci de votre aide

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 76
    Points : 80
    Points
    80
    Par défaut
    salut,

    1) tu peux redéfinir la position de ta JDialog avec un setBounds, tu n'as plus qu'à calculer sa position

    2) tu dois la définir modale

  3. #3
    Membre habitué Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Points : 185
    Points
    185
    Par défaut
    ok merci pour tes réponses

    j'avais oublier de mettre le code
    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
     
    	public ModifierFichierParametres(){
    	   	super();
    	   	initPanels();	   	
    		setModal(true);//Pour que la JDialog soit toujours au premier plan       
    		//Centrer la JDialog à l'écran
    		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    		this.setLocation(dim.width/2 - getWidth()/2, dim.height/2 - getHeight()/2 );
    	    this.setSize(400,400);//Fixer la taille de la JDialog
    	    getContentPane().setLayout(new GridBagLayout());
    		GridBagConstraints c = new GridBagConstraints();
    		c.fill = GridBagConstraints.VERTICAL;
    		c.anchor = GridBagConstraints.CENTER;
    		c.gridx = 0;
    		c.gridy = 0;
    		getContentPane().add(getGlobalPanel(),c);
    		c.gridx = 0;
    		c.gridy = 1;
    		getContentPane().add(getButtonPanel(),c);	
    	}
    j'ai fait un setModal mais j'ai toujours le problème lorsd e la bascule sur un autre programme. si je bascule avec la bare des tâches sur l'autre programme et que je re bascule sur mon programme de la même façon, la Jdilog est invisible et le programme bloqué
    Il faut que je diminue l'autre porgramme pour voir apparaitre ma JDialog

  4. #4
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Bonsoir,
    Sans vouloir m'avancer, il me semble que c'est un problème récurant. J'ai moi même ce problème et je ne trouve pas la solution.

    A plus.
    ___________________________
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  5. #5
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    pour centrer par rapport à ta JFrame, tu peux faire simplement un tonDialog.setLocationRelativeTo(taFrame);

    Pour ton 2e problème, tu exécute bien tout ça dans l'EDT?

  6. #6
    Membre habitué Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Points : 185
    Points
    185
    Par défaut
    bonsoi,

    ok pour le centrage de ma Jdialog

    par contre tu veux dire quoi par EDT ...désolé je suis débutant et le developpement est loin d'être mon job... c'est un hobby

  7. #7
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par pingoui
    par contre tu veux dire quoi par EDT ...désolé je suis débutant et le developpement est loin d'être mon job... c'est un hobby
    L'EDT est quelque chose de très important à connaître en Swing, et c'est vrai qu'il est souvent totalement inconnu (moi même je ne l'ai connu qu'assez tardivement).

    Voici un article qui pourra je pense te l'expliquer :
    http://gfx.developpez.com/tutoriel/j...ing-threading/

  8. #8
    Membre habitué Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Points : 185
    Points
    185
    Par défaut
    j'ai pris connaissance de l'article mais je ne peux pas te répondre si oui ou non mon j'éxécute dans l'EDT


    Pour appeler ma JDialog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            	ModifierFichierParametres modifParam = new ModifierFichierParametres(); 
            	modifParam.setVisible(true); // Action a effectuer
    Ma JDialog
    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
     
    public class ModifierFichierParametres  extends JDialog implements ActionListener {
     
    	/* --- Attributs --- */
    	/****Les panels****/
    	private PathPanel pathPanel;
    	private PreferencePanel preferencePanel;
    	private PostePanel postePanel;
    	private OrganePanel organePanel;
    	private DefautPanel defautPanel;
    	private JPanel buttonPanel = new JPanel();
    	private JPanel globalPanel = new JPanel();
    	Param lesParametres;
    	/****Le Tabbed Pane****/
    	private JTabbedPane tabbedPane = new JTabbedPane();
     
    	public ModifierFichierParametres(){
    	   	super();
    	   	initPanels();	   	
    		setModal(true);//Pour que la JDialog soit toujours au premier plan       
    		//Centrer la JDialog à l'écran
    		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    		setLocation(dim.width/4 - getWidth()/4, dim.height/4 - getHeight()/4 );
    	    this.setSize(400,400);//Fixer la taille de la JDialog
    	    getContentPane().setLayout(new GridBagLayout());
    		GridBagConstraints c = new GridBagConstraints();
    		c.fill = GridBagConstraints.VERTICAL;
    		c.anchor = GridBagConstraints.CENTER;
    		c.gridx = 0;
    		c.gridy = 0;
    		getContentPane().add(getGlobalPanel(),c);
    		c.gridx = 0;
    		c.gridy = 1;
    		getContentPane().add(getButtonPanel(),c);	
    	}
     
    	public void initPanels(){
    		lesParametres = AppProps.getInstance().getParametres();
    	   	pathPanel = new PathPanel(lesParametres);
    	   	preferencePanel = new PreferencePanel(lesParametres);
    	   	postePanel = new PostePanel(lesParametres);
    	    organePanel = new OrganePanel(lesParametres);
    	    defautPanel = new DefautPanel(lesParametres);
    	}
     
    	public JPanel getGlobalPanel(){
    		globalPanel.setBorder(BorderFactory.createLineBorder(Color.black) );
    		tabbedPane.add("Chemin d'accès",pathPanel);
    		tabbedPane.add("Préferences utilisateurs",preferencePanel );
    		tabbedPane.add("Postes",postePanel );
    		tabbedPane.add("Organes",organePanel );
    		tabbedPane.add("Défauts",defautPanel );
    		globalPanel.add(tabbedPane);
    		return globalPanel;
    	}
     
    	public JPanel getButtonPanel(){
    		buttonPanel.setLayout(new GridBagLayout());
    		GridBagConstraints bu = new GridBagConstraints();
    		bu.fill = GridBagConstraints.HORIZONTAL;
    		bu.gridx = 0;
    		bu.gridy = 0;
    		JButton valid = new JButton("Valider");
    		valid.addActionListener(this);
    		buttonPanel.add(valid);
    		bu.gridx = 1;
    		bu.gridy = 0;
    		JButton annul = new JButton("Annuler"); 
    		annul.addActionListener(this);
    		buttonPanel.add(annul);
    		return buttonPanel;
    	}
     
        public void actionPerformed(ActionEvent e) { 
            String s = e.getActionCommand();
            if (s.equals("Valider")) {      		
            	lesParametres = pathPanel.getParametres();        	
            	lesParametres.setTempsAnalyseXml(preferencePanel.getParametres().getTempsAnalyseXml());      	        	
            	lesParametres.setListPoste(postePanel.getListePosteModel().getParametres().getListPoste());
            	lesParametres.setListOrgane(organePanel.getListeOrganeModel().getParametres().getListOrgane()); 
            	lesParametres.setListDefaut(defautPanel.getListeDefautModel().getParametres().getListDefaut());        	
            	Parametres par = new Parametres();
            	par.setParametres(lesParametres);
            	par.ecrire();        	
            	dispose();
            	JOptionPane.showMessageDialog(this,"Pour prendre en compte les modifications, veuillez redémarrer le programme","Modification des paramètres",JOptionPane.WARNING_MESSAGE);
            } else if (s.equals("Annuler")) {
            	dispose();
            } 
        }	
    }

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/09/2010, 14h37
  2. [débutant] Un petit problème avec mon code
    Par Muesko dans le forum Débuter
    Réponses: 3
    Dernier message: 28/08/2008, 17h12
  3. [Débutante] problème avec JDialog
    Par maya dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 02/12/2006, 04h44
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10

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