~ubuntu-branches/ubuntu/quantal/netbeans/quantal

« back to all changes in this revision

Viewing changes to graph/examples/src/test/inplace/RequestFocusTest.java

  • Committer: Bazaar Package Importer
  • Author(s): Marek Slama
  • Date: 2008-01-29 14:11:22 UTC
  • Revision ID: james.westby@ubuntu.com-20080129141122-fnzjbo11ntghxfu7
Tags: upstream-6.0.1
ImportĀ upstreamĀ versionĀ 6.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
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.
 
5
 *
 
6
 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
 
7
 * or http://www.netbeans.org/cddl.txt.
 
8
 *
 
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]"
 
14
 *
 
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.
 
18
 */
 
19
package test.inplace;
 
20
 
 
21
import org.netbeans.api.visual.action.ActionFactory;
 
22
import org.netbeans.api.visual.action.TextFieldInplaceEditor;
 
23
import org.netbeans.api.visual.widget.LabelWidget;
 
24
import org.netbeans.api.visual.widget.Scene;
 
25
import org.netbeans.api.visual.widget.Widget;
 
26
import test.SceneSupport;
 
27
 
 
28
import javax.swing.*;
 
29
import java.awt.*;
 
30
import java.awt.event.ActionListener;
 
31
import java.awt.event.ActionEvent;
 
32
 
 
33
/**
 
34
 * @author David Kaspar
 
35
 */
 
36
public class RequestFocusTest {
 
37
 
 
38
    public static void main (String[] args) {
 
39
        JPanel panel = new JPanel ();
 
40
        panel.setLayout (new BorderLayout ());
 
41
 
 
42
        JToolBar toolbar = new JToolBar ();
 
43
        panel.add (toolbar, BorderLayout.NORTH);
 
44
 
 
45
        final JButton button = new JButton ("Press me while you are in in-place editing. The focus should be on the button.");
 
46
        button.addActionListener (new ActionListener() {
 
47
            public void actionPerformed (ActionEvent e) {
 
48
                JOptionPane.showMessageDialog (button, "The actionPerformed method is called, so everything is ok.");
 
49
            }
 
50
        });
 
51
        toolbar.add (button);
 
52
 
 
53
        Scene scene = new Scene ();
 
54
 
 
55
        LabelWidget label = new LabelWidget (scene, "Double-click on this label to invoke edit, then click on the icon in toolbar to trace the focus behaviour.");
 
56
        label.getActions ().addAction (ActionFactory.createInplaceEditorAction (new TextFieldInplaceEditor() {
 
57
            public boolean isEnabled (Widget widget) {
 
58
                return true;
 
59
            }
 
60
            public String getText (Widget widget) {
 
61
                return ((LabelWidget) widget).getLabel ();
 
62
            }
 
63
            public void setText (Widget widget, String text) {
 
64
                ((LabelWidget) widget).setLabel (text);
 
65
            }
 
66
        }));
 
67
        scene.addChild (label);
 
68
 
 
69
        JComponent view = scene.createView ();
 
70
        panel.add (view, BorderLayout.CENTER);
 
71
 
 
72
        SceneSupport.showCore (panel);
 
73
    }
 
74
 
 
75
}