import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test implements ActionListener{
static JFrame frm = new JFrame("Calculator");
static JPanel jp1 = new JPanel(new FlowLayout());
static JPanel jp2 = new JPanel(new GridLayout(3, 3));
static JButton []btn = new JButton[9];
static JTextField txtOut = new JTextField(15);
static Container cp = frm.getContentPane();
public static void main(String args[]){
cp.setLayout(new BorderLayout(0, 10));
jp1.add(txtOut);
cp.add(jp1, BorderLayout.NORTH);
for (int i = 0; i < 9; ++i){
btn[i].setText("" + (i + 1));
btn[i].addActionListener((ActionListener)frm);
jp2.add(btn[i]);
}
cp.add(jp2, BorderLayout.CENTER);
frm.setSize(200, 200);
frm.setVisible(true);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
JButton tmp_btn = (JButton) e.getSource();
// check which button
for (int i = 0; i < 9; ++i){
if (tmp_btn == btn[i]){
txtOut.setText("" + (i + 1));
break;
}
}
}
}
您好,我正在Java Swing课程学习。
我试着制作一个计算器,
但是当我处理事件监听器时,我遇到了问题!
它是java.lang.NullPointerException。
我猜问题是循环三个语句的主要方法,
因为我试图分别评论它们,
和IDE编译器说话&#34; NullPointerException&#34;在那里...
但我仍然不知道此代码中的错误。
所以,我想问一下,好好解决它,谢谢!!
(抱歉,我的英语很差:( ...