[Java] Comment lier un jtextfield aun jbutton

Bonjour ,
Je chercher betemen à lier un Jtextfield à un Jbutton, c'est à dire que lorsque qu'il est dans la saisie du texte en tapant entrée ça enclenche le Jbutton ou du moins l'action provoqué par le bouton.
Merci
Configuration: Windows XP
Firefox 1.5.0.9

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. tu ne peux pas associer un textfield à un bouton mais en additionnant un "KeyBoardEvent" à l'objet "textfield" tu peux détecter l'appuis sur la touche enter par l'ID "VK_ENTER".

    Pour se faire:
    Dans la class de l'évenement "public class totoclass implement KeyBoardListener{"
    Dans la fonction public "void KeyPressed(KeyBoardEvent evt){" tu dois ajouter la vérification de la touche avec:
    "if (evt.get...=VK_ENTER){"
    1. int key = evt.getKeyCode();
      if (key == KeyEvent.VK_ENTER) {
      System.out.println("enter");

      jButton1ActionPerformed(null);
      }
      Tu remplaces jButton1 par ton bouton en question.
      1. Salut!

        Voici un exemple complet:

        package hacktrack.fireevent;
        
        import hacktrack.highlighter.HighlighterDemo;
        
        import java.awt.BorderLayout;
        import java.awt.Container;
        import java.awt.event.ActionEvent;
        import java.awt.event.ActionListener;
        import java.awt.event.KeyAdapter;
        import java.awt.event.KeyEvent;
        import java.awt.event.KeyListener;
        
        import javax.swing.JButton;
        import javax.swing.JFrame;
        import javax.swing.JTextField;
        
        public class FireEventDemo extends JFrame {
        
        	private JButton button;
        
        	public FireEventDemo() {
        		super("FireEvent Demo");
        		init();
        	}
        
        	private void init() {
        		setDefaultCloseOperation(EXIT_ON_CLOSE);
        		Container c = getContentPane();
        		c.setLayout(new BorderLayout());
        		JTextField textField = new JTextField(25);
        		textField.addKeyListener(new KeyAdapter() {
        			@Override
        			public void keyPressed(KeyEvent e) {
        				System.out.println("Une touche a été pressée ("
        						+ e.getKeyCode() + ")");
        				if (e.getKeyCode() == KeyEvent.VK_ENTER) {
        					System.out.println("La touche ENTER a été pressée");
        					button.doClick();
        				}
        			}
        
        		});
        		c.add(textField, BorderLayout.NORTH);
        		button = new JButton("Démo");
        		button.addActionListener(new ActionListener() {
        
        			@Override
        			public void actionPerformed(ActionEvent e) {
        				System.out.println(" >>>>>>>>>>>>>>> Action du bouton déclenchée");
        			}
        		});
        		c.add(button, BorderLayout.CENTER);
        	}
        
        	public static void main(String[] args) {
        		FireEventDemo demo = new FireEventDemo();
        		demo.pack();
        		demo.setVisible(true);
        	}
        
        }
        
        


        ;-)