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 :

Bouton par défaut et touche ESCAPE dans une feuille de dialogue


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2009
    Messages : 167
    Points : 118
    Points
    118
    Par défaut Bouton par défaut et touche ESCAPE dans une feuille de dialogue
    Une petite contribution :

    Dans les feuilles de dialogue, j'ai souhaité implémenter le fonctionnement traditionnel, à savoir :

    ESCAPE = Annuler, sortir (bouton quitter, annuler, ...)
    Entrée = valider (bouton OK, valider, ...)

    Voici un exemple de code (d'un débutant dans le genre)...

    Hope this helps

    Christian

    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
    import java.awt.Button;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.KeyStroke;
     
     
    public class sample extends JFrame implements ActionListener{
    	private static final long serialVersionUID = 1L;
    	private JButton m_bDefaultButton = null;
     
    	public sample() {
    		super();
     
    		setSize(300, 150);
    		setLayout(new FlowLayout());
    		add(new Button("Bouton exemple"));
    		add(new Button("Annuler"));
     
    		//mise en place du bouton par défaut
    		m_bDefaultButton = new JButton ("Bouton par défaut");
    		add( m_bDefaultButton);
    		m_bDefaultButton.addActionListener( this); 
     
    		this.getRootPane().setDefaultButton( m_bDefaultButton);
    		//fin mise en place du bouton par défaut
     
    		setLocationRelativeTo(null);
     
    		//mise en place du hook sur la touche escape, pour toute la feuille
    		ActionListener escListener = new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				escapeKeyPressed();//cette méthode sera appelée lors de l'utilisation de la touche escape
    			}
    		};
    		getRootPane().registerKeyboardAction( escListener, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    		// avec cette ligne, on ajoute la possibilité de trapper la touche entrée, équivalente au bouton par défaut
    		// bien sure il faudra pouvoir savoir quelle touche a été pressée
    		//getRootPane().registerKeyboardAction( escListener, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    		//fin mise en place du hook sur la touche escape, pour toute la feuille
     
    		setVisible(true);
     
    	}
     
    	private void escapeKeyPressed() {
    		javax.swing.JOptionPane.showMessageDialog(null, "La touche Echappement à été appuyée !", "Sample", JOptionPane.WARNING_MESSAGE);
    	}
     
    	public void actionPerformed(ActionEvent e) { 
    		if ( e.getSource().equals( m_bDefaultButton)) {
    			javax.swing.JOptionPane.showMessageDialog(null, "Le bouton par défaut vient d'être utilisé", "Sample", JOptionPane.WARNING_MESSAGE);			
    		}
     
    	} 
     
    	public static void main(String[] args) {
    		new sample();
    	}
    }

  2. #2
    Membre averti Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    Je comprends bien l'outil, mais est-il accompagné d'une question ?

Discussions similaires

  1. [WD17] Test Touche Escape dans une boucle TANTQUE
    Par tveniere dans le forum WinDev
    Réponses: 2
    Dernier message: 12/01/2014, 15h15
  2. Bouton par défaut sur une MSGBOX
    Par zooffy dans le forum Contribuez
    Réponses: 15
    Dernier message: 30/10/2013, 15h24
  3. Supprimer la touche Tab dans une feuille
    Par auguste19 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/01/2012, 23h59
  4. Touche ESCAPE dans une Windows.Form
    Par tchoimars dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/02/2008, 11h04
  5. Réponses: 6
    Dernier message: 13/06/2006, 08h02

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