2011-01-28 6 views
0

Je dois mettre une valeur dans ma classe à partir de l'interface utilisateur (Swing), puis démarrer ma méthode en cliquant sur un bouton. Que devrais-je faire?en utilisant java swing

+0

Lire swing Didacticiel pour apprendre à coder Swing: http://download.oracle.com/javase/tutorial/uiswing/index.html. Sinon, si vous êtes toujours coincé, vous devrez fournir plus de détails sur votre problème actuel puisque votre question telle que écrite est quelque peu vague et trop générale. –

Répondre

2

Voici un exemple super simple d'un champ de texte et un bouton qui, lorsque vous cliquez dessus obtenir la valeur de texte que vous pouvez alors toute la méthode que vous aimeriez transmettre cette valeur à .

public class ButtonExample extends JPanel 
{ 
    private JTextField _text; 

    public ButtonExample() 
    { 
     _text = new JTextField(); 

     setLayout(new BorderLayout()); 
     add(_text, BorderLayout.NORTH); 
     add(new JButton(new CaptureTextAction()), BorderLayout.SOUTH); 
    } 

    private class CaptureTextAction extends AbstractAction 
    { 
     private CaptureTextAction() 
     { 
      super("Click Me"); 
     } 

     @Override 
     public void actionPerformed(ActionEvent ae) 
     { 
      String textToCapture = _text.getText(); 

      // do something interesting with the text 
     } 
    } 
} 
0

Swing est l'interface utilisateur que vous utilisez pour votre application. il fonctionne comme ça .... vous avez des boutons, des panneaux et tous les trucs dont vous avez besoin pour fournir une interface appropriée, ce qui signifie que si vous devez prendre la saisie de texte que vous mettez textfield ou textArea dans votre interface utilisateur

Les applications swing sont basées sur des événements, c'est la différence fondamentale entre les applications basées sur des consoles et des fenêtres, une application basée sur une console est séquentielle compilée et exécute séquentiellement le code sans tenir compte de la façon dont vous interagissez avec elle. En revanche, une application Swing est basée sur les événements, jusqu'à ce que n'importe quel événement soit déclenché et intercepté. En Java, vous ne gérez que l'événement, ce qui signifie que ce qui se passe après un événement est décidé par le programmeur. .

suppose qu'il ya un clic de bouton événement se déclenche et il y a un auditeur attaché à l'élément alors la fonction actionPerformed est appelée et il est exécuté

supposons que vous voulez obtenir le nom d'utilisateur de l'application

JButton btnSubmit = new JButton("Submit"); 
JTextField txtName = new JTextField("", 4); 

btnSubmit.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
    String name = txtName.getText();//see below for explanation 
    printInfo();//write the function call statements here if you want them to be executed when button is clicked 

} 
}); 

chaque fois que le bouton est cliqué ou plus généralement tout événement se produit sur le bouton puis il crée un objet de chaîne dans la piscine de chaîne et lui assigne la valeur du champ de texte au moment où le bouton a été cliqué