回 帖 发 新 帖 刷新版面

主题:求助

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Example4_2 extends Applet implements ActionListener
{
    TextArea txt1=new TextArea(7,35);
    TextArea txt2=new TextField(35);
    String str="TextArea 可以编辑多行文本。\n"+
               "TextArea 编辑和显示多行文本,\n"+
               "TextArea 是显示多行文本的编辑器。";
               
    public void init()
    {
        txt1.setText(str);
        add(txt1);
        add(txt2);
        txt2.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e)
    {
        String s;
        if(e.getSource()==txt2)
        {
            s=txt2.getText();
            txt1.append("\n"+s);
        }
    }
}
错误:
F:\111\Example4_2.java:7: incompatible types
found   : java.awt.TextField
required: java.awt.TextArea
    TextArea txt2=new TextField(35);
                      ^
F:\111\Example4_2.java:17: cannot resolve symbol
symbol  : method addActionListener (Example4_2)
location: class java.awt.TextArea
        txt2.addActionListener(this);
            ^
2 errors
Process completed.
java.lang.NoClassDefFoundError: Example4_2
Exception in thread "main" 
Process completed.

回复列表 (共4个回复)

沙发

哪位大哥帮帮忙,这程序怎么改?

板凳

TextArea txt2=new TextField(35);
声明的和实例化的对象不一致。需要改成下列中的任意一种:
TextArea txt2=new TextArea();
TextField txt2=new TextField(35);

3 楼

这个还是没解决:
java.lang.NoClassDefFoundError: Example4_2
Exception in thread "main" 
我运行另外一个程序时也会有这个问题

4 楼

不知道你改成哪种了。按照你的程序应该改成TextField txt2=new TextField(35);编译才能通过,因为TextArea没有addActionListener方法。可能是这个原因吧,你试试看。

我来回复

您尚未登录,请登录后再回复。点此登录或注册