Я делаю программу обработки мыши, но из-за ошибки времени компиляции она не работает. Любая идея, в чем проблема?Программа обработки мыши
import java.awt.*;
import java.awt.event.*;
public class Mouse extends Frame implements MouseListener, MouseMotionListener, MouseWheelListener {
int x = 0, y = 0;
String msg = "";
public static void main(String agrs[]) {
Mouse m = new Mouse("ashish");
}
Mouse(String mj) {
super(mj);
addWindowListener(new mywa(this));
addWindowListener(this);
setSize(500, 500);
setVisible(true);
}
class mywa extends WindowAdapter {
Mouse m = null;
mywa(Mouse m) {
this.m = m;
}
public void windowClosing(WindowEvent we) {
m.setVisible = false;
}
}
public void mouseClicked(MouseEvent e) {
msg = "mouseclicked";
x = e.getX();
y = e.getY();
repaint();
}
public void mouseEntered(MouseEvent e1) {
msg = "mouseentered";
x = e1.getX();
y = e1.getY();
repaint();
}
public void mouseExited(MouseEvent e2) {
msg = "mouseexit";
x = e2.getX();
y = e2.getY();
repaint();
}
public void mousePressed(MouseEvent e3) {
msg = "mouse pressed";
x = e3.getX();
y = e3.getY();
repaint();
}
public void mouseReleased(MouseEvent ee) {
msg = "mouse released";
x = ee.getX();
y = ee.getY();
repaint();
}
public void mouseDragged(MouseEvent e11) {
msg = "dragged";
x = e11.getX();
y = e11.getY();
repaint();
}
public void mouseMoved(MouseEvent e12) {
msg = "moved";
x = e12.getX();
y = e12.getY();
repaint();
}
public void mouseWheelMoved(MouseWheelEvent e13) {
msg = "wheel";
x = e13.getX();
y = e13.getY();
repaint();
}
public void paint(Graphics g) {
g.drawString(msg + " at " + x + "," + y, 50, 100);
}
}
---------- ---------- компилировать
.\MouseEvent.java:8: error: class Mouse is public, should be declared in a file named Mouse.java
public class Mouse extends Applet
^
Mouse.java:29: error: cannot access MouseEvent
public void mouseClicked(MouseEvent e){
^
bad source file: .\MouseEvent.java
file does not contain class MouseEvent
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
Output completed (0 sec consumed) - Normal Termination
Сэр. При первой ошибке я сохранил свой файл как Mouse.java, а также попытался удалить общедоступное объявление из класса Mouse, но с той же ошибкой. 2-я ошибка, которую я исправил. Я не могу понять третью ошибку. – user2849331
Для первой ошибки единственным возможным способом является сохранение файла с помощью 'Mouse.java'. Я не знаю, почему он не работает для вас. Если третья ошибка не понятна вам, тогда закомментируйте 'addWindowListener (this)'. –
Я получил последнюю ошибку, это addMouseListener (это). Но эта программа показывает MouseEvent.java:4: ошибка: класс Mouse является публичным, должен быть объявлен в файле с именем Mouse.java общественного класса Mouse расширяет рамки реализует MouseListener, MouseMotionListener, MouseWheelListener Mouse.java:32: ошибка: не может получить доступ к MouseEvent общественность недействительного mouseClicked (MouseEvent е) плохого исходного файла: MouseEvent.java файл не содержит класс MouseEvent Пожалуйста, удалите или убедитесь, что он появится в правильном подкаталоге SourcePath. – user2849331