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