有两种方式实现,第一种是直接采用JButton自带的方法,推荐使用这种方式,因为代码少,具体代码如下:
enter.setRolloverIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonmousein.jpg"));//设置鼠标进来之后JButton的背景图片 enter.setPressedIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonclicked.jpg"));//设置鼠标点击之后JButton的背景图片
另一种方式就是实现MouseListener接口了,具体代码如下:
enter.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { enter.setIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonnormal.jpg")); //这个方法和mousePressed方法配套使用,当鼠标释放时,JButton应当显示的背景图片 } @Override public void mousePressed(MouseEvent e) { enter.setIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonclicked.jpg")); //当鼠标长时间按在JButton上时,JButton应该显示的背景图片。实际上,完全可以代替mouseClicked方法 } @Override public void mouseExited(MouseEvent e) { enter.setIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonnormal.jpg")); //当鼠标移出时,JButton应当显示的背景图片 } @Override public void mouseEntered(MouseEvent e) { enter.setIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonmousein.jpg")); //当鼠标移进时,JButton应当显示的背景图片 } @Override public void mouseClicked(MouseEvent e) { // enter.setIcon(new ImageIcon("E:\\javaSE代码\\TimeManager\\asset\\buttonclicked.jpg")); //当JButton被单击时,JButton应当显示的背景图片。 //当这个方法和mousePressed方法被同时重写时,会出现一些不好的效果,各位可以自行实验。 //建议只重写mousePressed方法就行,完全能代替mouseClicked方法的效果 } });