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.
21
import org.netbeans.api.visual.action.ActionFactory;
22
import org.netbeans.api.visual.action.EditProvider;
23
import org.netbeans.api.visual.widget.LabelWidget;
24
import org.netbeans.api.visual.widget.LayerWidget;
25
import org.netbeans.api.visual.widget.Scene;
26
import org.netbeans.api.visual.widget.Widget;
27
import org.netbeans.api.visual.widget.general.IconNodeWidget;
28
import org.openide.util.Utilities;
29
import test.SceneSupport;
34
* @author David Kaspar
36
public class IconNodeHeaderTest {
38
public static void main (String[] args) {
39
Scene scene = new Scene ();
41
LayerWidget layer = new LayerWidget (scene);
42
scene.addChild (layer);
44
LayerWidget theWidgetWithHeader = new LayerWidget (scene);
45
theWidgetWithHeader.setPreferredLocation (new Point (100, 100)); // the reference point of the whole structure
46
layer.addChild (theWidgetWithHeader);
48
final LabelWidget header = new LabelWidget (scene, "Visibility of this label should not affect the position of the top-left corner of the image in the scene.");
49
header.setPreferredLocation (new Point (0, 0)); // the location of the header relatively to the reference point
50
theWidgetWithHeader.addChild (0, header);
52
IconNodeWidget widget = new IconNodeWidget (scene, IconNodeWidget.TextOrientation.BOTTOM_CENTER);
53
widget.setImage (Utilities.loadImage ("test/resources/displayable_64.png")); // NOI18N
54
widget.setLabel ("Double-click me to change the visibility of the header");
55
widget.setPreferredLocation (new Point (0, 0)); // the location of icon node widget relatively to the reference point
56
theWidgetWithHeader.addChild (widget);
58
widget.getActions ().addAction (ActionFactory.createEditAction (new EditProvider() {
59
public void edit (Widget widget) {
60
header.setVisible (! header.isVisible ());
64
SceneSupport.show (scene);