java 文本框的小问题

JButtonb4=newJButton();Stringtext1,text2;JTextAreat1=newJTextArea();JTextAreat2=newJT... JButton b4=new JButton();
String text1,text2;
JTextArea t1=new JTextArea();
JTextArea t2=new JTextArea();
text1=t1.getText();
text2=t2.getText();
b4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
t1.append(text2);
t2.repaint();
}
}
);

我想在单击b4后,把文本区t2 的文本添加到文本区t1里,t2清空,应怎么改?
t1,t2,text2下面画红色波浪线,应该有错吧!我怎么看不出有什么错误?

编译提示:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Cannot refer to a non-final variable t1 inside an inner class defined in a different method
Cannot refer to a non-final variable text2 inside an inner class defined in a different method
Cannot refer to a non-final variable t2 inside an inner class defined in a different method

at QQ.main(QQ.java:106)
展开
 我来答
871117ice
2007-12-11
知道答主
回答量:43
采纳率:0%
帮助的人:59.5万
展开全部
因为实在内部类中调用t1,t2所以应当声明为final
改为:
final JTextArea t1=new JTextArea();
final JTextArea t2=new JTextArea();

t2.repaint();改为t2.setText("");
bhr_jkam
2007-12-11 · TA获得超过133个赞
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
public void actionPerformed(ActionEvent e)
{
t1.append(text2);
t2.repaint();//改为t2.setText("");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式