मेरे पास मेरे प्रोग्राम में कॉलम में व्यवस्थित बटन की 4 सूचियां हैं I अभी तक मेरे पास 4 लूप हैं जो यह देखने के लिए जांचते हैं कि कोई बटन क्लिक किया गया है या नहीं। क्या यह जांचने का एक आसान तरीका है कि प्रत्येक सूची के माध्यम से लूपिंग के बजाय कोई बटन क्लिक किया गया है या नहीं, यह देखने के लिए कि क्या कुछ बटन क्लिक किया गया था या नहीं। यह जांचने का एक आसान तरीका होना चाहिए कि "actionSource == anybutton" ...जावा एक्शन श्रोता
उत्तर
उपयोग प्रत्येक बटन के लिए अनाम इनर क्लासों:
JButton button = new JButton("Do Something");
button.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
System.out.println("Do Something Clicked");
}
});
या अगर आपके तर्क से संबंधित है, तो आप एक श्रोता साझा कर सकते हैं:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonCalculator extends JFrame implements ActionListener
{
private JButton[] buttons;
private JTextField display;
public ButtonCalculator()
{
display = new JTextField();
display.setEditable(false);
display.setHorizontalAlignment(JTextField.RIGHT);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(0, 5));
buttons = new JButton[10];
for (int i = 0; i < buttons.length; i++)
{
String text = String.valueOf(i);
JButton button = new JButton(text);
button.addActionListener(this);
button.setMnemonic(text.charAt(0));
buttons[i] = button;
buttonPanel.add(button);
}
getContentPane().add(display, BorderLayout.NORTH);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
setResizable(false);
}
public void actionPerformed(ActionEvent e)
{
JButton source = (JButton)e.getSource();
display.replaceSelection(source.getActionCommand());
}
public static void main(String[] args)
{
UIManager.put("Button.margin", new Insets(10, 10, 10, 10));
ButtonCalculator frame = new ButtonCalculator();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
आप प्रत्येक बटन के लिए एक व्यक्तिगत श्रोता और प्रत्येक बटन के लिए एक आम श्रोता जोड़ सकते हैं। "दबाए गए किसी भी बटन" का जवाब देने के लिए आम श्रोता कार्यक्रम।
किसी भी समय आप एक बटन क्लिक करें, यह चलाता है actionPerformed
विधि, चाहे आप किस बटन दबाए हों।
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if (source instanceof JButton) System.out.println("You clicked a button!");
}
मेरे पास अभी भी श्रोताओं के साथ अन्य वस्तु है, जैसे कि कॉम्बो बॉक्स और मेनू आइटम। मुझे केवल एक निश्चित कार्य करने के लिए बटन चाहिए, श्रोता के साथ सभी आइटम नहीं। – mbreen
@mbreen अद्यतन उत्तर देखें। – fireshadow52
- 1. एक्शन श्रोता
- 2. एक एक्शन श्रोता
- 3. एक एक्शन श्रोता, दो जेबुटन
- 4. जावा में निर्देशिका श्रोता
- 5. संवाद पर जावा श्रोता
- 6. जावा जीयूआई, एक्शन लिस्टनर
- 7. जावा में जेटीबल पर डबल क्लिक श्रोता
- 8. श्रोता बनाम सेट श्रोता
- 9. श्रोता
- 10. श्रोता
- 11. श्रोता
- 12. फ़ाइल में बदल गया श्रोता जावा
- 13. जावा के साथ डेटाबेस श्रोता कैसे बनाएं?
- 14. जावा ट्रैकपैड 2-उंगली स्क्रॉल श्रोता
- 15. स्ट्रेट्स एक्शन मैपिंग एक्शन इनपुट एट्रिब्यूट
- 16. एक्शन फ़िल्टर एक्शन पैरामीटर
- 17. जावा के समकक्ष फनक और एक्शन
- 18. एक सामग्री स्क्रिप्ट 0 श्रोता में श्रोता
- 19. एक्शन
- 20. थ्रेड निर्माण श्रोता
- 21. JMS श्रोता को JBossMQ
- 22. क्लिक श्रोता
- 23. मान्यता श्रोता
- 24. jQuery श्रोता
- 25. ExtJS श्रोता
- 26. जेपीए श्रोता
- 27. एक श्रोता
- 28. पी: श्रोता
- 29. एक्शन कमांड बनाम एक्शन क्लासेस?
- 30. क्या मैं एक जेएलएबल में एक एक्शन श्रोता जोड़ सकता हूं?
कैमिकर मेरी आंखों में एक स्विंग प्राधिकरण है। – duffymo
श्रोता साझा करें ... अच्छा, सलाह के लिए धन्यवाद! यह पूरी तरह से काम किया! – mbreen