2011-02-18 77 views
0

這是我的錯誤信息的Java找不到符號

test.java:17: cannot find symbol 
symbol : class MouseAdapter 
location: class test 
     private class click extends MouseAdapter 
            ^
test.java:19: cannot find symbol 
symbol : class MouseEvent 
location: class test.click 
       public void mouseEntered(MouseEvent e) 
             ^
test.java:14: cannot find symbol 
symbol : variable trayicon 
location: class test 
     trayicon.addMouseListener(new click()); 
     ^
3 errors 

import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.*; 

public class test extends JFrame 
{ 

    private JFrame frame; 

    public void init() 
    { 
     trayicon.addMouseListener(new click()); 
    } 

     private class click extends MouseAdapter 
     { 
      public void mouseEntered(MouseEvent e) 
      { 
       { 
       frame.setVisible(true); 
      } 
     } 
    } 
} 

回答

0

重現錯誤:

$cat >test.java <<. 
import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.*; 

public class test extends JFrame 
{ 

    private JFrame frame; 

    public void init() 
    { 
     trayicon.addMouseListener(new click()); 
    } 

     private class click extends MouseAdapter 
     { 
      public void mouseEntered(MouseEvent e) 
      { 
       { 
       frame.setVisible(true); 
      } 
     } 
    } 
} 
. 
$javac test.java 
test.java:15: cannot find symbol 
symbol : class MouseAdapter 
location: class test 
     private class click extends MouseAdapter 
            ^
test.java:17: cannot find symbol 
symbol : class MouseEvent 
location: class test.click 
      public void mouseEntered(MouseEvent e) 
            ^
test.java:12: cannot find symbol 
symbol : variable trayicon 
location: class test 
     trayicon.addMouseListener(new click()); 
     ^
3 errors 

添加進口

$ed test.java 
431 
1i 
import java.awt.event.*; 
. 
wq 
456 
$javac test.java 
test.java:13: cannot find symbol 
symbol : variable trayicon 
location: class test 
     trayicon.addMouseListener(new click()); 
     ^
1 error 

在第13行

$ed test.java 
456 
13i 
     JLabel trayicon = new JLabel();// or something that makes sense 
. 
wq 
528 
$javac test.java 
$ 

固定聲明trayicon

結果代碼:

$cat test.java 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.*; 

public class test extends JFrame 
{ 

    private JFrame frame; 

    public void init() 
    { 
     JLabel trayicon = new JLabel();// or something that makes sense 
     trayicon.addMouseListener(new click()); 
    } 

     private class click extends MouseAdapter 
     { 
      public void mouseEntered(MouseEvent e) 
      { 
       { 
       frame.setVisible(true); 
      } 
     } 
    } 
} 

BTW,你不需要線26和21:

$ed test.java 
633 
26d 
21d 
wq 
605 
$javac test.java 
$ 
$cat test.java 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.*; 

public class test extends JFrame 
{ 

    private JFrame frame; 

    public void init() 
    { 
     JLabel trayicon = new JLabel();// or something that makes sense 
     trayicon.addMouseListener(new click()); 
    } 

     private class click extends MouseAdapter 
     { 
      public void mouseEntered(MouseEvent e) 
      { 
       frame.setVisible(true); 
      } 
     } 
    } 
2

您需要:

import java.awt.event.*; 

編輯:

,你需要聲明trayicon:

JLabel trayicon = new JLabel(); 
+0

這並不工作 – lonesarah 2011-02-18 05:47:49

+0

@ user516805:是的錯誤消息正好與此同新的進口?我覺得很難相信。 – mellamokb 2011-02-18 05:51:02

0

增加mellamokb,您使用的是可變托盤圖標其不被任何聲明。

所以加

import java.awt.event.MouseAdapter; 
import java.awt.event.MouseEvent; 

,並宣佈托盤圖標