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

avec Java Discussion :

Placer des JButton dans une JDialog


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Placer des JButton dans une JDialog
    Voila mon problème est que j'ai deux classe, une qui étend de JPanel et une autre de JDialog.

    Dans mon JPanel je veut créer des boutons (ici 1 seul pour simplifier) puis dans mon JDialog que souhaite créer une instance de mon JPanel pour afficher mon bouton , jusque la tous va bien mais je n'arrive pas a positionner se bouton si quelque pouvais m'aider, merci


    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
    public class Panel1 extends JDialog {
     
     
    	private JButton submit;
    	private JButton cancel;
     
     
     
    	public void createAndShowGUI() {
     
    		this.setLayout(null);
    		this.setSize(700, 550);
    		this.setResizable(false);
    		this.setTitle("Test");
    		this.setContentPane(getPanel());
    		this.setVisible(true);
     
     
    	}
     
     
     
     
     
    	public  JPanel getPanel(){
    		JPanel jContentPane = new JPanel();
            jContentPane.setBackground(new Color(71, 145, 203));  //Background Color   
     
     
     
     
           jContentPane.add(new Panel2());
     
     
     
     
     
     
     
    		return jContentPane;
    	}
     
    	}






    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
    public class Panel2 extends JPanel{
     
    	private JButton submit;
     
     
    	Panel2(){
     
    		super();
    		add(getValider());
     
     
     
    	}
     
    	public JButton getValider(){
     
    		if(submit == null)
    		{
    			submit = new JButton();
    			submit.setText("Valider");
    			submit.setBounds(new Rectangle(30,30,30,30));
    		}
     
    		return submit;
     
    	}
     
     
    }

  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
    Il faut utiliser un layout. Le setBounds sur le JButton ne sert à rien.
    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.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui merci avec un GridLayout ça me fais ce que je veut

    Mais j'ai un autre soucis

    J'ai donc instancié ma deuxième classe que je place dans un vector.

    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
    ublic  JPanel getPanel(){
    		JPanel jContentPane = new JPanel(new GridLayout(11,1));
    		jContentPane.setBackground(new Color(71, 145, 203));  //Background Color   
     
     
            for(int i=1;i<10;i++ ){
            	chanName.addElement(JIhmKiris.currentExp.getVectorChannel().get(i-1).getName());     	
            	lines.addElement(new Panel2(chanName.get(i-1)));
            }
     
            for(int i=0;i<lines.size();i++){
     
            		jContentPane.add(lines.get(i));
     
            }
     
            jContentPane.add(getSubmit());
            jContentPane.add(getCancel());
     
            return jContentPane;
    	}

    J'ajoute donc 10 instances que j'ajoute à mon jContentePane

    Dans mon deuxième Panel j'ai :

    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
    	Panel2(String chanName){
     
    		this.chanName = chanName;
     
    		add(getChan(chanName));
    		add(getUnit());
    		add(getFunctionChoise());
    		add(getPanel());
     
     
     
    	}
     
    	public JPanel getPanel(){
     
    		jContentPane = new JPanel();
     
    		jContentPane.add(getPanelFirst());
    		jContentPane.add(getPanelSecond());
    		jContentPane.add(getImportArray() );
     
    		jContentPane.setVisible(true);
     
     
     
    		return jContentPane;
    	}
     
     
    	public JComboBox getFunctionChoise(){
     
    		if(functionChoise == null){
     
    			functionChoise = new JComboBox();
    			functionChoise.addItem("");
    			functionChoise.addItem("Fonction du 1er degré");
    			functionChoise.addItem("Fonction du 2nd degré");
    			functionChoise.addItem("Importer un tableau");
    			functionChoise.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e)
    				{
    					if(functionChoise.getSelectedItem() == ""){
     
     
     
    					}
     
    					else if(functionChoise.getSelectedItem() == "Fonction du 1er degré")
    					{
     
    					}
    					else if(functionChoise.getSelectedItem() == "Fonction du 2nd degré"){
     
     
    					}
    					else if(functionChoise.getSelectedItem() == "Importer un tableau"){
     
     
    					}}});
     
    		}
     
    		return functionChoise;
    	}
    	}


    En faite ce que je voudrais faire c'est dans mon de rendre visible l'un des trois panel que j'ajoute dans ma méthode getPanel() dans l'actionListener de getFunctionChoise().

    J'ai lu que je pouvais utiliser un CardLayout mais dans se cas je ne vois pas comment l'utiliser.

    Je vous ai fais un petit dessin pour essayer de vous représentez l'assemblage de mes panels. Image


    Merci de votre aide

  4. #4
    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
    Ouhlà ! J'ai l'impression que tu ré-inventes le javax.swing.JTabbedPane, non ?
    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.

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ouhlà ! J'ai l'impression que tu ré-inventes le javax.swing.JTabbedPane, non ?
    C'est à dire ?

  6. #6
    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
    Citation Envoyé par Lesli31 Voir le message
    C'est à dire ?
    Cherches-tu à reproduire le fonctionnement d'un JTabbedPane ?
    Et si non, quel est le fonctionnement attendu ?
    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.

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Cherches-tu à reproduire le fonctionnement d'un JTabbedPane ?
    Non pas exactement.

    Et si non, quel est le fonctionnement attendu ?
    Le fonctionnement attendu c'est que mon panel vert ( voir image link) change en fonction de mon action Listener qui se trouve dans la méthode getFunctionChoise.

    En gros c'est ça, sachant que la méthode getFunctionChoise se trouve dans un panel (le bleu sur l'image) et que c'est deux panel (vert + bleu) se trouve dans mon autre classe dans un panel (le panel rouge).

  8. #8
    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
    Le listener doit avoir l'instance du CardLayout pour pouvoir changer le JPanel affiché.
    Cette instance sera transmise au constructeur de l'objet contenant le listener.
    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. placer des carrés dans une grille (mur de briques)
    Par ben53 dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 08/09/2009, 23h07
  2. placer des paramètres dans une URL avec querystring
    Par DAGDD dans le forum SharePoint
    Réponses: 19
    Dernier message: 10/07/2009, 08h35
  3. Placer des points dans une image
    Par PaM... dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 12/03/2009, 18h16
  4. Utilsation des JButton dans une Jtable
    Par henpower dans le forum Composants
    Réponses: 4
    Dernier message: 18/09/2007, 16h58
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

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