工程下有个images文件夹,里面有两个图片文件,分别为start-on.gif和start.gif.start-on和start相比图片多了个黑色边框。程序代码如下:
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;public class JLabelListener { public static void main(String[] args) { new JLabelListener().init();

}

JLabel startLabel=new JLabel(new ImageIcon("images/start.gif"));

JButton button=new JButton("按钮");

public void init(){

JFrame jf=new JFrame("监听");

jf.setLayout(new FlowLayout());

startLabel.addMouseListener(new MouseAdapter(){

public void MouseEntered(MouseEvent e){

startLabel.setIcon(new ImageIcon("images/start-on.gif"));
}

public void MouseExited(MouseEvent e){

startLabel.setIcon(new ImageIcon("images/start.gif"));
}
});

jf.add(startLabel);
jf.add(button);

jf.pack();

jf.setVisible(true);

}}
想达到的效果就是鼠标移动到JLabel上,JLabel的图片切换成strat-on,有了黑色边框,看起来比较友好。但是运行程序却不行。求指导

解决方案 »

  1.   

    楼主你的方法的名称写错了startLabel.addMouseListener(new MouseAdapter(){

    @Override
    public void mouseEntered(MouseEvent e) {

    startLabel.setIcon(new ImageIcon("images/start-on.jpg"));
    }
    @Override
    public void mouseExited(MouseEvent e){

    startLabel.setIcon(new ImageIcon("images/start.jpg"));
    }
    });那个mouseEntered的m的小写的
      

  2.   

    大妹子,我得如何感谢你啊被这个不是问题的问题困扰了一下午,哎。真是献丑!这种时候大家都有的~~~已关注你。求被关注。私信方便一点。我看你去年10月才注册的CSDN,看你页面,都是回答别人问题。学习能力这么强。你不会是985的变态理工女吧小弟自惭形秽
      

  3.   

    大妹子,我得如何感谢你啊被这个不是问题的问题困扰了一下午,哎。真是献丑!这种时候大家都有的~~~已关注你。求被关注。私信方便一点。我看你去年10月才注册的CSDN,看你页面,都是回答别人问题。学习能力这么强。你不会是985的变态理工女吧小弟自惭形秽要真是那样子还好啦