2
* The contents of this file are subject to the terms of the Common Development
3
* and Distribution License (the License). You may not use this file except in
4
* compliance with the License.
6
* You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7
* or http://www.netbeans.org/cddl.txt.
9
* When distributing Covered Code, include this CDDL Header Notice in each file
10
* and include the License file at http://www.netbeans.org/cddl.txt.
11
* If applicable, add the following below the CDDL Header, with the fields
12
* enclosed by brackets [] replaced by your own identifying information:
13
* "Portions Copyrighted [year] [name of copyright owner]"
15
* The Original Software is NetBeans. The Initial Developer of the Original
16
* Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17
* Microsystems, Inc. All Rights Reserved.
19
package test.animator;
21
import org.netbeans.api.visual.layout.LayoutFactory;
22
import org.netbeans.api.visual.model.ObjectState;
23
import org.netbeans.api.visual.widget.LabelWidget;
24
import org.netbeans.api.visual.widget.Scene;
25
import test.SceneSupport;
30
* @author David Kaspar
32
public class ColorAnimatorTest {
34
public static void main (String[] args) {
35
Scene scene = new Scene ();
36
scene.setLayout (LayoutFactory.createVerticalFlowLayout ());
38
for (int a = 0; a < 10; a ++)
39
scene.addChild (new MyLabelWidget (scene));
41
SceneSupport.show (scene);
44
private static final class MyLabelWidget extends LabelWidget {
46
public MyLabelWidget (Scene scene) {
47
super (scene, "Move mouse over the label to see animation");
49
setBackground (Color.WHITE);
50
setForeground (Color.BLACK);
51
getActions ().addAction (scene.createWidgetHoverAction ());
54
protected void notifyStateChanged (ObjectState previousState, ObjectState state) {
55
if (previousState.isHovered () == state.isHovered ())
57
getScene ().getSceneAnimator ().animateBackgroundColor (this, state.isHovered () ? Color.BLUE : Color.WHITE);
58
getScene ().getSceneAnimator ().animateForegroundColor (this, state.isHovered () ? Color.YELLOW : Color.BLACK);