java - 鼠标事件 "cannot find symbol"错误的解决方案

标签 java applet awt

我不断导入更多的包,但所有包含鼠标事件的方法都得到相同的“错误:找不到符号”。我认为我缺少一个需要扩展或实现的包或类,但我找不到哪个。有什么想法吗?

import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Component;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.*;

public class t1 implements MouseListener
{ 
    public static void main(String[] args)
    {
    // Create frame with title
        Frame frame = new Frame("Click Counter Project");

        // Create a component to add to the frame
        final TextArea textArea = new TextArea("Click");
    }
    public void mousePressed(MouseEvent event)
    { 
            textArea.setText("Mouse pressed. x = "+ event.getX() + " y = " +         event.getY());
    } 
    public void mouseReleased(MouseEvent event)
    { 
        textArea.setText("Mouse released. x = "+ event.getX() + " y = " + event.getY());
} 
public void mouseClicked(MouseEvent event)
{ 
    textArea.setText("Mouse clicked. x = "+ event.getX() + " y = " + event.getY());
    } 
    public void mouseEntered(MouseEvent event)
    { 
        textArea.setText("Mouse entered. x = "+ event.getX() + " y = " + event.getY());
    } 
    public void mouseExited(MouseEvent event)
    { 
            textArea.setText("Mouse exited. x = "+ event.getX() + " y = " + event.getY());
    }
    public void t1()
    {
        frame.add(textArea, BorderLayout.NORTH);
            int width = 300;
            int height = 300;
            frame.setSize(width, height);
            frame.setVisible(true);
    }
}

最佳答案

所有必需的包和文件均已导入。出现“找不到符号”错误的原因是因为“textArea”字段和“frame”变量是本地变量。将它们声明为静态类变量,如下面的代码所示,然后在 main 方法中初始化它们,然后清除找不到符号错误。

代码应该是这样的:-

 public class t1 implements MouseListener
    { 
    static TextArea textArea;
    static Frame frame;
        public static void main(String[] args)
        {
        // Create frame with title
          frame = new Frame("Click Counter Project");

            // Create a component to add to the frame
             textArea = new TextArea("Click");
             t1 clickCount= new t1();
        }
    ...
 t1()
    {
        frame.add(textArea, BorderLayout.NORTH);
            int width = 300;
            int height = 300;
            frame.setSize(width, height);
            frame.addMouseListener(this);
            frame.setVisible(true);
    }
    }

关于java - 鼠标事件 "cannot find symbol"错误的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17731390/

相关文章:

java - 更改第三方JAR的安全权限?

java - Canvas 对象未显示,但位置在 Java Applet 中正确更新

java - 不在 Top Java 上保持专注

java - 使用 Twilio 的 REST API

java - 静态构造函数上带有 Apache Spark/Java 反射错误的 MVCE?

eclipse - 在 Eclipse 中定位 JRE

java - GridBagLayout 对齐文本字段吗?

java - 如何确定 JDBC 驱动程序是否为 Type 4?

browser - 嵌入在浏览器中的Applet嵌入在JFrame中

java - 在 java applet 中绘制图形 - init()、paint() 和 repaint()