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 :

Passer d'une JFrame à un Jdialog


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 141
    Par défaut Passer d'une JFrame à un Jdialog
    Bonjour,

    J'ai une classe qui herite de JFrame, dans cette fenetre j'ai un boutton qui me permet de relancer une fenetre du meme type mais avec des valeurs particulières

    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
     
    public class MaFrame extends JFrame{
       public MaFrame (ArrayList mesValeursParticulieres) {
            super("Ma fenetre");
            ...
            monBoutton.addActionListener(new ActionListener{
                  public void actionPerformed(ActionEvent e){
                        new MaFrame(array);    
                  }
            }); 
            ...
            this.setVisible(true);
        }
     
    }
    J'aimerais en fait que la Fenetre lancé par le boutton soit un JDialog, j'ai essayé plusieurs methodes différentes sans y parvenir Je vais pas quand meme cloner cette classe pour en avoir une extends JFrame et l'autre JDialog .... Bref si quelqu'un a une idée je suis preneur !

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 141
    Par défaut
    J'ai reussi à faire marcher ca avec ceci :
    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
    public class MaFrame extends JFrame{
       public MaFrame (ArrayList mesValeursParticulieres) {
            super("Ma fenetre");
            ...
            monBoutton.addActionListener(new ActionListener{
                  private JDialog _addFrame;
                  private JFrame _myFrame;  
                  public void actionPerformed(ActionEvent e){
                        _myFrame = new MaFrame(array);
                        _addFrame = new JDialog(_myFrame,"essai",true);
                        Container c = _myFrame.getContentPane();
                        _addFrame .getContentPane().setLayout(new GridLayout(1,1));
                       _addFrame .getContentPane().add(c);  
                  }
            }); 
            ...
            this.setVisible(true);
        }
    }
    Je trouve pas ca tres tres propre Et j'aimerais bien avoir votre avis sur la chose ...

    Merci d'avance.

  3. #3
    Membre confirmé Avatar de Thor Tillas
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Par défaut
    L'idée qui me vient c'est de définir une autre fenêtre qui hérite des optionpane mais avec un contenu différent..

    Je l'ai fait il y a plus d'une année pour un cours IHM. Je me souviens avoir galéré au début, mais finalement c'est pas si compliqué...

    Voyons si je retrouve le code...

    ok je l'ai trouvé... mais je vais pas le mettre ici car la méthode est un peu longuette...

    voici le résumé :
    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
     
    public class MyDialog extends JDialog{
    	Fenetre parent;
    	int index;
     
    	public ModifyDialog(Fenetre p, int ind){
    		showDialog();
     
    		setVisible(true);
     
     
     
     
    	}
    	public void showDialog(){
                    //initialisation des panneaux
    		Container cont = getContentPane();
    		cont.setLayout(new GridBagLayout());
                    //configuration propre à la boite de dialogue
    		setSize(400,150);
    		setModal(true);
    		setResizable(false);
    		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    		setTitle("myDialog"));
    /*code similaire à une JFrame tu peux faire ce que tu veux ici... mettre des boutons, des labels... bref fait toi plaisir :roll: */
             }
    }
    Avec ca tu peux créer une boite de dialogue qui a la forme que tu veux... donc tu peux facilement faire ton idée je pense...

    pour l'appeler... ben rien de plus simple, comme on fait le showDialog() dans le constructeur on a juste besoin de la créer... si tu veux tu peux enlever le showDialog du constructeur et faire un appel direct à la méthode au moment ou tu veux lancer la popup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyDialog m = new MyDialog(this);//si tu es dans la JFrame

    Voilà j'espère que ca pourra t'aider.

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 141
    Par défaut
    En fait ta methode me complique un peu trop la chose car les composants que je veux afficher dans la JFrame et dans le Jdialog sont exactement les meme... Je change juste les valeurs dans les JTextField et les JTable en fait !
    Je pense que je vais garder ma methode, tant pis si c'est un peu crade Merci quand meme de t'etre penché sur le problème

  5. #5
    Membre confirmé Avatar de Thor Tillas
    Inscrit en
    Octobre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 113
    Par défaut
    comme tu veux... tu pouvais aussi faire appele au constructeur de ta première jFrame dans la jdialog, ou définir un Jpanel externe qui contient tout que tu inclue à ta jdialog...

    Ou tu peux garder ce que tu as fait... ca va aussi

Discussions similaires

  1. Passer d'une JFrame à une autre
    Par 6116d dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/05/2015, 17h56
  2. probleme avec l'appui sur une touche sur une jframe ou jdialog
    Par jeanfeu dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 05/08/2008, 16h14
  3. Passer d'une JFrame a une autre
    Par guitariste dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 06/05/2008, 23h01
  4. Blocage d'une JFrame cree par un JDialog modal
    Par mobi38 dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 06/09/2006, 14h54
  5. [SWING] Laisser JDialog devant une Jframe
    Par nivose110 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 02/07/2006, 16h15

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