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();
}
});
}
}