import java.awt.*;import javax.swing.*;
import java.awt.event.*;
public class PreviewImage implements MouseListener{

private ImageIcon background;
private Container container;
private JLabel label1;private JFrame frame; public void creat(){
frame=new JFrame();
frame.setTitle("点击进入");
frame.setLayout(new FlowLayout());
  container=frame.getContentPane();
  background=new ImageIcon("110.jpg");
   label1 = new JLabel(background);//把背景图片显示在一个标签里面
    label1.addMouseListener(new simpleMouseAdapter());      container.add(label1);
    frame.setSize(702, 496);
    frame.setLocation(300,100);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
private class simpleMouseAdapter extends MouseAdapter{ 
public void mousePressed(MouseEvent e){ 
new BasicButtons(); 
frame.setVisible(false);
}


public static void main(String[] args) {
PreviewImage demo=new PreviewImage();
demo.creat();
} }现已确定BasicButtons类没有问题 ,程序也能正常运行,但编译器报错:红色代码前出现小红叉,难道鼠标的几个回调方法都要写出来?既然出现小红叉了,为什么却可以正常运行?迷惑ing!

解决方案 »

  1.   


    must implements parent's methods
      

  2.   

    去掉这些吧
     implements MouseListener你已经用simpleMouseAdapter 来实现了
      

  3.   

    如果要实现MouseListener就必须实现所有的方法,但是方法体可以为空public void mousePressed(MouseEvent e) {

    }
    public void mouseReleased(MouseEvent e) {

    }
    public void mouseEntered(MouseEvent e) {
        
    }
    public void mouseExited(MouseEvent e) {
      
    }
    public void mouseClicked(MouseEvent e) {
       
    }
      

  4.   

    simpleMouseAdapter有鼠标的适配器类了,就不要implements MouseListener
      

  5.   

    public class PreviewImage implements MouseListener
    把此行代码改成public class PreviewImage extends MouseAdapter 就OK啦