Java编程监听借口使用出错,求解决

packagejavaSwing;//这是一个计算器程序importjava.awt.*;importjava.awt.event.ActionEvent;importj... package javaSwing;
//这是一个计算器程序
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.print.attribute.TextSyntax;
import javax.swing.*;

public class jsq extends JFrame implements ActionListener{
JPanel a,b,h;
//这里a为显示区,b为按钮

JTextField text1;
//这里定义按钮
JButton but[][];
//一个按钮数组,存放计算器按钮

public jsq () {
//设置窗体属性
this.setTitle("计算器1.1");
this.setSize(270,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
//设置3个容器
a=new JPanel();
b=new JPanel();
h=new JPanel(new BorderLayout());
this.add(h);

h.add(a,BorderLayout.NORTH);
h.add(b,BorderLayout.CENTER);

//设置容器1内的控件
text1=new JTextField(20);
//text1用来显示结果
a.add(text1);
b.setLayout(new GridLayout(3,3,8,8));
JButton but[][]=new JButton[4][4];

for(int x=1;x<=3;x++)
{
for(int y=1 ;y<=3;y++)
{
but[x][y]=new JButton(((x-1)*3+y)+"");
but[x][y].addActionListener(this);
b.add(but[x][y]);

}
}
this.setVisible(true);

// TODO 自动生成的构造函数存根
}

public static void main(String[] args) {
// TODO 自动生成的方法存根
jsq a= new jsq();

}

@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
for(int x=1;x<=3;x++)
for(int y=1;y<=3;y++)
if(e.getSource()==but[x][y])
{
text1.setText(text1.getText()+(x-1)*3+y);
}

}

}
按下按钮后,报错Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
text1没输入数字
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
// System.out.println(but[2][2].getText());
JButton button = (JButton) e.getSource();

for(int x=1;x<=9;x++)
{

if(button.getText().equals(x+""))
{
text1.setText(text1.getText()+x);
System.err.println("a");
}
}

}
我是这样做的,不过还是谢谢,我在试试你的方法
展开
 我来答
laobaitu0322
2014-10-27 · TA获得超过744个赞
知道小有建树答主
回答量:900
采纳率:33%
帮助的人:648万
展开全部
text1.setText(text1.getText() + e.getActionCommand());

用这个试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式