设计一个窗口,上面有一个按纽。当鼠标移动到按纽上时,立即隐藏该按纽;当离开按纽时,显示该按纽。     
    下面的代码是我自己做的,第三行有个问题,我不知该如何解决,请高手指点!import java.awt.*;
import java.awt.event.*;
public class Frame2 extends Frame implements MouseListener
{
  static Button b1;
  public Frame2(String title)
  {
   super(title);
   b1=new Button("click me!");
    b1.setSize(30,30);
    b1.setLocation(100,100);
    b1.addMouseListener(new MyActionListener());
  } 
  public static void main(String args[])
  {
  Frame2 fram=new Frame2("odd_button");
  fram.setLayout(null);   
  fram.setResizable(true);
  fram.setLocation(100,100);
  fram.setSize(400,400);
  fram.setVisible(true);
  } 
class MyActionListener implements MouseListener
         {
 public void mouseEntered(MouseEvent e)
 {
 b1.setVisible(false);
 }
 public void mouseExited(MouseEvent e)
 {
 b1.setVisible(true);
 }
 public void mousePressed(MouseEvent e)
 { }
 public void mouseReleased(MouseEvent e)
 { }
 public void mouseClicked(MouseEvent e)
 {
 
 }
         }}

解决方案 »

  1.   

    错误还不少,调试正确:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class Frame2 extends JFrame 
    {
      private final JButton b1;
      public Frame2(String title)
      {
       super(title);
       b1=new JButton("click me!");
        b1.setSize(30,30);
        b1.setLocation(100,100);
        b1.addMouseListener(new MyActionListener());
        this.getContentPane().setLayout(new FlowLayout());
        this.getContentPane().add(b1);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      } 
      public static void main(String args[])
      {
      Frame2 fram=new Frame2("odd_button");  fram.setResizable(true);
      fram.setLocation(100,100);
      fram.setSize(400,400);
      fram.setVisible(true);
      
      } 
    class MyActionListener implements MouseListener
             {
     public void mouseEntered(MouseEvent e)
     {
     b1.setVisible(false);
     }
     public void mouseExited(MouseEvent e)
     {
     b1.setVisible(true);
     }
     public void mousePressed(MouseEvent e)
     { }
     public void mouseReleased(MouseEvent e)
     { }
     public void mouseClicked(MouseEvent e)
     {
     
     }
             }}