import java.awt.Color; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.border.Border; import javax.swing.border.EtchedBorder; import org.jdesktop.animation.timing.Animator; import org.jdesktop.animation.timing.interpolation.PropertySetter; import org.jdesktop.animation.timing.triggers.MouseTrigger; import org.jdesktop.animation.timing.triggers.MouseTriggerEvent; public class TimingSample7 { public TimingSample7() { JFrame frame = new JFrame("Timing Sample"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); JLabel label = new JLabel("

OK

", JLabel.CENTER); label.setOpaque(true); label.setPreferredSize(new Dimension(200, 100)); Border border = new EtchedBorder(); label.setBorder(border); panel.add(label); Color orig = label.getBackground(); Animator animator1 = PropertySetter.createAnimator(200, label, "background", orig, Color.LIGHT_GRAY); MouseTrigger.addTrigger(label, animator1, MouseTriggerEvent.ENTER); Animator animator2 = PropertySetter.createAnimator(200, label, "background", Color.LIGHT_GRAY, Color.BLUE); MouseTrigger.addTrigger(label, animator2, MouseTriggerEvent.PRESS); Animator animator3 = PropertySetter.createAnimator(200, label, "background", Color.BLUE, Color.LIGHT_GRAY); MouseTrigger.addTrigger(label, animator3, MouseTriggerEvent.RELEASE); Animator animator4 = PropertySetter.createAnimator(200, label, "background", Color.LIGHT_GRAY, orig); MouseTrigger.addTrigger(label, animator4, MouseTriggerEvent.EXIT); frame.add(panel); frame.setSize(new Dimension(400, 200)); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new TimingSample7(); } }); } }