在线程中获取异常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");
}
}
}
答案 0 :(得分:0)
您在类tf
中声明了数组start
。
因此,您在start
中初始化的内容不是类成员,而是start
的本地变量。成员变量tf
仍为null
。
所以,在start
中,更改
TextField tf[]= new TextField[2];
到
tf[]= new TextField[2];