2012-03-05 13 views
7

के माध्यम से कॉल विधि मैं जेबटन दबाकर एक विधि कैसे कॉल कर सकता हूं?जावा - जेबटन

उदाहरण के लिए:

when JButton is pressed 
hillClimb() is called; 

मैं कैसे जब एक JButton दबाने संदेशों आदि प्रदर्शित करने के लिए पता है, लेकिन पता करने के लिए अगर यह यह करने के लिए संभव है करना चाहते हैं?

बहुत धन्यवाद।

+1

देखें http://docs.oracle.com/javase/tutorial/uiswing/ इसे करने के लिए ActionListener जोड़ने घटक/बटन.html – DNA

उत्तर

9

यदि आप जानते हैं कि बटन दबाते समय संदेशों को कैसे प्रदर्शित किया जाए, तो आप पहले से ही जानते हैं कि एक नई विंडो खोलने के तरीके को कैसे कॉल करना है विधि के लिए एक कॉल है।

अधिक जानकारी के साथ, आप ActionListener लागू कर सकते हैं और फिर अपने JButton पर addActionListener विधि का उपयोग कर सकते हैं। HereActionListener लिखने के तरीके पर एक सुंदर मूलभूत ट्यूटोरियल है।

तुम भी एक गुमनाम वर्ग का उपयोग कर सकते हैं:

yourButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     hillClimb(); 
    } 
}); 
+3

जावा 8 के बाद से एक ही चीज़ को लैम्ब्डा का उपयोग करके बहुत सुंदर लिखा जा सकता है: 'yourButton.addActionListener (e -> hillClimb()); ' – Lii

1

आप JButton के लिए एक ईवेंट हैंडलर (जावा में ActionListener) जोड़ने की जरूरत है।

This article बताता है कि यह कैसे करें।

4

यहां छोटा ऐप दिखा रहा है कि कैसे बटन और एक्शनलिस्टर को घोषित और लिंक करना है। उम्मीद है कि यह आपके लिए चीजों को और स्पष्ट कर देगा।

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.*; 

public class ButtonSample extends JFrame implements ActionListener { 

    public ButtonSample() { 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     setSize(100, 100); 
     setLocation(100, 100); 

     JButton button1 = new JButton("button1"); 
     button1.addActionListener(this); 
     add(button1); 

     setVisible(true); 
    } 

    public static void main(String[] args) { 
     new ButtonSample(); 
    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     String command = e.getActionCommand(); 

     if (command.equals("button1")) { 
      myMethod(); 
     } 
    } 

    public void myMethod() { 
     JOptionPane.showMessageDialog(this, "Hello, World!!!!!"); 
    } 
} 
1

फिस्ट आप बटन प्रारंभ, तो

JButton btn1=new JButton(); 

btn1.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
     hillClimb(); 
    } 
}); 
0
btnMyButton.addActionListener(e->{ 
     JOptionPane.showMessageDialog(null,"Hi Manuel "); 
    }); 

लैम्ब्डा साथ

संबंधित मुद्दे