importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassTextFieldTest{publicstaticvoidmain(Stringarg[]){TextFieldFrametff=newText...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class TextFieldTest
{ public static void main(String arg[])
{
TextFieldFrame tff = new TextFieldFrame();
tff.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tff.show();
}
}
class TextFieldFrame extends JFrame
{
public TextFieldFrame()
{
setTitle("练习");
setSize(WIDTH,HEIGHT);
Container contentpane = getContentPane();
//新建文档监听器
DocumentListener resultListener = new ResultListener();
//建立容纳文本域的面板
JPanel TextPanel = new JPanel();
JTextField Text1 = new JTextField("",20);
//为第一个文本域安装监听器
Text1.getDocument().addDocumentListener(resultListener);
JTextField Text2 = new JTextField("",20);
Text2.getDocument().addDocumentListener(resultListener);
JTextField Text3 = new JTextField("Get the Result",20);
Text3.getDocument().addDocumentListener(resultListener);
Text3.setEditable(false);
TextPanel.add(Text1);
TextPanel.add(Text2);
TextPanel.add(Text3);
contentpane.add(TextPanel);
}
public void getAnswer()
{
try
{
int add1,add2,answer;
String s;
//获取第一个和第二个文本域的内容,并将其解析为数字类型的变量
add1 = Integer.parseInt(text1.getText().trim());
add2 = Integer.parseInt(text2.getText().trim());
//求和
answer = add1 + add2;
s = new String("=" + answer);
//将求和写入第三个文本域
text3.setText(s);
}
catch(NumberFormatException e)
{}
}
private class ResultListener implements DocumentListener
{
public void changedUpdate(DocumentEvent e)
{}
public void insertUpdate(DocumentEvent e)
{
getAnswer();
}
public void removeUpdate(DocumentEvent e)
{
getAnswer();
}
}
public static final int WIDTH = 350;
public static final int HEIGHT = 150;
private JTextField text1;
private JTextField text2;
private JTextField text3;
}
帮忙看下这个傻程序,可以编译通过,但输入数值是就抛空指针异常,为什么啊,我要疯了,怎么改
展开