java中 通过JButton(多个button数字按钮)的ActionEvent事件向 JTextField内输入一串数字

2024-12-05 06:23:31
推荐回答(1个)
回答(1):

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class NumInputSwing {

private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("TextTest");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



final JTextArea jta = new JTextArea();
frame.add(jta);

ActionListener listener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
             if(e.getActionCommand().equals("C")){
             jta.setText("");
             }else{
             jta.append(e.getActionCommand());
             }
            }
        };
        
        frame.setLayout(new GridLayout(0,3));
        JButton button0 = new JButton("0");
        JButton button1 = new JButton("1");
        JButton button2 = new JButton("2");
        JButton button3 = new JButton("3");
        JButton button4 = new JButton("4");
        JButton button5 = new JButton("5");
        JButton button6 = new JButton("6");
        JButton button7 = new JButton("7");
        JButton button8 = new JButton("8");
        JButton button9 = new JButton("9");
        JButton buttonc = new JButton("C");//文本区清除

button0.addActionListener(listener);
button1.addActionListener(listener);
button2.addActionListener(listener);
button3.addActionListener(listener);
button4.addActionListener(listener);
button5.addActionListener(listener);
button6.addActionListener(listener);
button7.addActionListener(listener);
button8.addActionListener(listener);
button9.addActionListener(listener);
buttonc.addActionListener(listener);

frame.getContentPane().add(button0);
frame.getContentPane().add(button1);
frame.getContentPane().add(button2);
frame.getContentPane().add(button3);
frame.getContentPane().add(button4);
frame.getContentPane().add(button5);
frame.getContentPane().add(button6);
frame.getContentPane().add(button7);
frame.getContentPane().add(button8);
frame.getContentPane().add(button9);
frame.getContentPane().add(buttonc);

frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}