2014-01-28 3 views
0

Я делаю программу обработки мыши, но из-за ошибки времени компиляции она не работает. Любая идея, в чем проблема?Программа обработки мыши

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 

ответ

0

Если вы получаете это исключение

.\MouseEvent.java:8: error: class Mouse is public, should be declared in a file named Mouse.java 
public class Mouse extends Applet 

Тогда вы вам нужно сохранить файл java с именем Mouse.java или удалить объявление public от class Mouse.

Другая проблема я вижу здесь

public void windowClosing(WindowEvent we) { 
      m.setVisible = false;// error 
     } 

Это должно быть m.setVisible(false);

Еще одна проблема заключается в вашем cunstructor

Mouse(String mj) { 
     super(mj); 
     addWindowListener(new mywa(this)); 

     addWindowListener(this);//error , Parameter should be a WindowListener object 
     setSize(500, 500); 
     setVisible(true); 
    } 
+0

Сэр. При первой ошибке я сохранил свой файл как Mouse.java, а также попытался удалить общедоступное объявление из класса Mouse, но с той же ошибкой. 2-я ошибка, которую я исправил. Я не могу понять третью ошибку. – user2849331

+0

Для первой ошибки единственным возможным способом является сохранение файла с помощью 'Mouse.java'. Я не знаю, почему он не работает для вас. Если третья ошибка не понятна вам, тогда закомментируйте 'addWindowListener (this)'. –

+0

Я получил последнюю ошибку, это addMouseListener (это). Но эта программа показывает MouseEvent.java:4: ошибка: класс Mouse является публичным, должен быть объявлен в файле с именем Mouse.java общественного класса Mouse расширяет рамки реализует MouseListener, MouseMotionListener, MouseWheelListener Mouse.java:32: ошибка: не может получить доступ к MouseEvent общественность недействительного mouseClicked (MouseEvent е) плохого исходного файла: MouseEvent.java файл не содержит класс MouseEvent Пожалуйста, удалите или убедитесь, что он появится в правильном подкаталоге SourcePath. – user2849331

-1

Framing Error.

У меня есть один на моем компьютере, который был замаскирован, но когда я пошел менять свой раздел DOS 7.10 на Win95, так как у меня Win95 отлично работал на нем, он снова появился через V86interface и запомнился более шести лет назад.

В основном причина - ошибка времени. Ii просто потому, что вы используете интерфейс через защищенный режим для вызова своего интерфейса VCPI.

Это самый низкий приоритет, и в защищенном режиме вы должны установить новый интерфейс mutltitask с защищенным режимом, которому это не хватает.

У вас есть многозадачность для работы с мышью, но не поддерживается любая отладка в реальном режиме работы программы, так как компьютер просто не может просто полагаться на данные с интерфейса VCPI. Его данные являются эмуляцией и не могут использоваться и не могут быть доверенными, поскольку это не интерфейс с привилегированным уровнем в режиме реального времени.

Вы не можете установить новую многозадачность с защищенным режимом из сбойной ошибки, поскольку она является той же ошибкой, и пытается ее восстановить.