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

AWT/Swing Java Discussion :

comment détecter un clique surun bouton d'une fenetre fils dans la fenetre principale ?


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut comment détecter un clique surun bouton d'une fenetre fils dans la fenetre principale ?
    Bonjour mes amis les développeurs
    dans mon cas j'ai une fenêtre principale qui lance une petite fenêtre qui contient un Jtable et un bouton ou l'utilisateur renseigne les éléments d'une matrice 3*3
    je voudrai que lorsque l'utilisateur valide sur la petite fenêtre je détecte ça sur la fenêtre principale afin de transmettre les éléments de la matrice a un autre objet . (j'aimerai aussi que cette fenêtre soit crée en Modale)
    merci

  2. #2
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut
    je suis déjà sur une Piste "La JDialogue" mais il me reste un problème au niveau du code :
    le bouton Ok ne réagit pas de même pour le Bouton DefaultValue
    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
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.JTable;
    import javax.swing.border.EmptyBorder;
    import javax.swing.table.DefaultTableModel;
     
     
    public class fltrSobelDlg extends JDialog  implements ActionListener{
     
    	private final JPanel contentPanel = new JPanel();
    	private JTable table;
    	private String [] colonne;
    	private float [][] mask;
    	private JButton btnDefaultValues;
    	public JButton btnFiltrage;
        public float [] KernelM;
        private JButton okButton;
     
    	/**
             * Create the dialog.
             */
    	public fltrSobelDlg() {
    		intiamisation_composant ();
     
    	}
    	private void intiamisation_composant ()
    	{ 
    		/* Initialisation fenetre */
    		setTitle("Mask Sobel");
    		 setModal(true);
    		setBounds(100, 100, 259, 145);
    		getContentPane().setLayout(new BorderLayout());
    		contentPanel.setLayout(new FlowLayout());
    		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
    		getContentPane().add(contentPanel, BorderLayout.CENTER);
    		{
    			JPanel buttonPane = new JPanel();
    			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
    			getContentPane().add(buttonPane, BorderLayout.SOUTH);
    			{
    				okButton = new JButton("OK");
    				okButton.setActionCommand("OK");
    				okButton.addActionListener((ActionListener)this);
    				buttonPane.add(okButton);
    				getRootPane().setDefaultButton(okButton);
    			}
    			{
    				JButton btnDefaultValues = new JButton("Default Values");
    				buttonPane.add(btnDefaultValues);
    				btnDefaultValues.addActionListener((ActionListener)this);
    			}
    			{
    				JButton cancelButton = new JButton("Cancel");
    				cancelButton.setActionCommand("Cancel");
    				buttonPane.add(cancelButton);
    			}
    		}
      /*  Création de la Mtrice    */
    		table = new JTable();
    		table.setFont(table.getFont().deriveFont(table.getFont().getStyle() | Font.BOLD | Font.ITALIC));
    		table.setToolTipText("");
    		table.setRowSelectionAllowed(false);
    		String [] colonne = {null, null, null};
    		float [][] mask = { {0, -1, 0},
                                 {-1, 4, -1},
                                 {0, -1, 0} };
    		 DefaultTableModel myTableModel = new DefaultTableModel(3,3);
    		table.setModel(myTableModel);
    		for (int row = 0; row <3;row++)
    			for(int column=0;column<3;column++)
    		table.setValueAt(mask[row][column], row, column);
     
    		table.setBackground(Color.WHITE);
    		table.setFillsViewportHeight(true);
    		table.setColumnSelectionAllowed(true);
    		table.setCellSelectionEnabled(true);
    		table.setBounds(1, 1, 188, 48);	
    		contentPanel.add(table);
     
     /* Fin Création de la Matrice*/
     
    	}
    public void actionPerformed(ActionEvent cliqueBtn) {
     
     
    		if (cliqueBtn.getSource().equals(btnDefaultValues))
    		{  float [][] mask = { {0, -1, 0},
                                   {-1, 4, -1},
                                    {0, -1, 0} };
    			for (int row = 0; row <3;row++)
    				for(int column=0;column<3;column++)
    			     table.setValueAt(mask[row][column], row, column);	
    		}
    		if (cliqueBtn.getSource().equals(okButton))
    		{
    			for (int row = 0; row <3;row++)
    				for(int column=0;column<3;column++)
    				 KernelM[row*column]= (Float) table.getValueAt(row, column);
    		}
     
     
    	}
     
    public float []  getData() {
                return   KernelM;
            }
     
    }
    l' appel de la JDIALOGUE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .......
    if (cliqueMenu.getSource().equals(mntmFiltreSobel) )
    	{ 
    		 fltrSobelDlg Filtre = new fltrSobelDlg();
    		 Filtre.setVisible(true);
     
    	}
    .........

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut
    voila que deux jour sont passé sans que j'ai la moindre contribution alors je lance un appel a tout âme charitable que veut aidé un naufragé de java

    je suis bloqué

  4. #4
    Membre éclairé Avatar de Ceddoc
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2009
    Messages : 493
    Points : 698
    Points
    698
    Par défaut
    De souvenir comme ça il faut que ton listener de bouton connaisse le parent pour pouvoir appeler par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monparent.onValidate() { //ma méthode qui fait ce qu'on veut a la validation }
    Si vraiment tu t'en sors pas je regarderais ton code plus en détail.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 188
    Points : 66
    Points
    66
    Par défaut
    merci pour votre réponse
    mais le problème c'est que les action que je voudrai faire concernent des objets qui se trouvent dans la fenêtre principale en tous les cas
    j'ai bricolé une solution comme suis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if (cliqueMenu.getSource().equals(mntmFiltreSobel) )
    	{  
    		 fltrSobelDlg Filtre = new fltrSobelDlg();
    		 Filtre.addWindowListener((WindowListener) this);
    		 Filtre.setVisible(true);
     
    		 if ( Filtre .isVisible() == false)
    	     	 { 
    		        panelImg.setImg(imgSource);
    		    	panelImg.imgSobel(Filtre.getData());
    		     }
     
    	}
    toute autre bonne solution est la bienvenue

Discussions similaires

  1. [JMeter] Comment simuler le clique de bouton dans JMeter?
    Par momoG dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 12/09/2011, 12h58
  2. Détecter le clique du bouton Minimiser d'une fenêtre
    Par danimo dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 17/07/2009, 09h02
  3. Réponses: 3
    Dernier message: 16/01/2008, 12h41
  4. Réponses: 13
    Dernier message: 18/07/2006, 15h07
  5. Comment détecter la perte de focus d'une fenêtre
    Par Leviathan_72 dans le forum Windows
    Réponses: 5
    Dernier message: 31/12/2005, 00h22

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