package com.lx.product.seal.frame; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JLabel; public class ButtonNextLabel extends JLabel { private boolean operateFlag = false; public ButtonNextLabel() { operateFlag = true; setOperate(operateFlag); ButtonNextLabel next = this; addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent me) { if (!operateFlag) { return; } fireActionPerformed(new ActionEvent(ButtonNextLabel.this, ActionEvent.ACTION_PERFORMED, "SecretMessage")); } public void mouseEntered(MouseEvent me) { if (!operateFlag) { return; } ImageIcon activeIcon = new ImageIcon("./images/but_nextstepon.png"); activeIcon.setImage(activeIcon.getImage().getScaledInstance(110, 32, Image.SCALE_DEFAULT));// 宽高根据需要设定 next.setIcon(activeIcon); } public void mouseExited(MouseEvent me) { if (!operateFlag) { return; } ImageIcon activeIcon = new ImageIcon("./images/but_nextstep.png"); activeIcon.setImage(activeIcon.getImage().getScaledInstance(110, 32, Image.SCALE_DEFAULT));// 宽高根据需要设定 next.setIcon(activeIcon); } }); this.setCursor(new Cursor(Cursor.HAND_CURSOR)); } public void addActionListener(ActionListener l) { listenerList.add(ActionListener.class, l); } public void removeActionListener(ActionListener l) { listenerList.remove(ActionListener.class, l); } protected void fireActionPerformed(ActionEvent ae) { Object[] listeners = listenerList.getListeners(ActionListener.class); for (int i = 0; i < listeners.length; i++) { ((ActionListener) listeners[i]).actionPerformed(ae); } } public void setOperate(Boolean b) { operateFlag = b; if (operateFlag) { ImageIcon activeIcon = new ImageIcon("./images/but_nextstep.png"); activeIcon.setImage(activeIcon.getImage().getScaledInstance(110, 32, Image.SCALE_DEFAULT));// 宽高根据需要设定 this.setIcon(activeIcon); } else { ImageIcon notActiveIcon = new ImageIcon("./images/but_nextstepnopress.png"); notActiveIcon.setImage(notActiveIcon.getImage().getScaledInstance(110, 32, Image.SCALE_DEFAULT));// 宽高根据需要设定 this.setIcon(notActiveIcon); } } }