在线程中获取异常awt-eventqueue-1 java.lang.nullpointerexception?

时间:2014-12-16 15:35:49

标签: java exception nullpointerexception applet

在线程中获取异常awt-eventqueue-1 java.lang.nullpointerexception ??什么可能是错误的来源?我想创建一个applet来反转给定的字符串。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。

public class MyApp extends Applet implements ActionListener
{
Panel p1,p2;
TextField tf[]= new TextField[2];
public void init()
{
    setBackground(Color.cyan);

}
public void start()
{
    TextField tf[]= new TextField[2];
    tf[0] = new TextField();
    tf[0].setColumns(20);
    Label l1=new Label("String:");
    p1 = new Panel();
    p1.add(l1);
    p1.add(tf[0]);
    p1.setLayout(new FlowLayout());

    tf[1] = new TextField();
    tf[1].setColumns(20);
    Button l2=new Button("Reverse:");
    l2.addActionListener(this);
    p2 = new Panel();
    p2.add(l2);
    p2.add(tf[1]);
    p2.setLayout(new FlowLayout());
    add(p1);
    add(p2);

}
public void actionPerformed(ActionEvent ae)
{
    tf[1].setText("hiii");  
    if(ae.getActionCommand()=="Reverse:")
    {
    StringBuffer sb=new StringBuffer(tf[0].getText());
    String s= new String(sb.reverse());
    tf[1].setText("hiii");  
    }
}


}

1 个答案:

答案 0 :(得分:0)

您在类tf中声明了数组start
因此,您在start中初始化的内容不是类成员,而是start的本地变量。成员变量tf仍为null

所以,在start中,更改

TextField tf[]= new TextField[2];

tf[]= new TextField[2];