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 test.SceneSupport;
22
import org.netbeans.api.visual.widget.LabelWidget;
23
import org.netbeans.api.visual.widget.Scene;
24
import org.netbeans.api.visual.widget.Widget;
25
import org.netbeans.api.visual.action.ActionFactory;
26
import org.netbeans.api.visual.action.ResizeControlPointResolver;
27
import org.netbeans.api.visual.action.ResizeProvider;
28
import org.netbeans.api.visual.border.BorderFactory;
33
* @author David Kaspar
35
public class ResizeControlPointResolverTest extends Scene {
37
public ResizeControlPointResolverTest () {
38
LabelWidget widget = new LabelWidget (this, "Only bottom-right corner allows the label resizing");
40
widget.setOpaque (true);
41
widget.setBackground (Color.LIGHT_GRAY);
42
widget.setBorder (BorderFactory.createResizeBorder (8));
44
widget.getActions ().addAction (ActionFactory.createResizeAction (null, new MyResizeControlPointResolver (), null));
49
public static void main (String[] args) {
50
SceneSupport.show (new ResizeControlPointResolverTest ());
53
private static class MyResizeControlPointResolver implements ResizeControlPointResolver {
55
public ResizeProvider.ControlPoint resolveControlPoint (Widget widget, Point point) {
56
Rectangle bounds = widget.getBounds ();
57
Insets insets = widget.getBorder ().getInsets ();
58
if (new Rectangle (bounds.x + bounds.width - insets.right, bounds.y + bounds.height - insets.bottom, insets.right, insets.bottom).contains (point))
59
return ResizeProvider.ControlPoint.BOTTOM_RIGHT;