1 /*
2 * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
74
75 @Override public Graphics getGraphics() { return null; }
76
77 @Override public final boolean isResizable() { return true; }
78
79 // Block modification of any frame attributes, since they aren't
80 // applicable for a lightweight frame.
81
82 @Override public final void setTitle(String title) {}
83 @Override public final void setIconImage(Image image) {}
84 @Override public final void setIconImages(java.util.List<? extends Image> icons) {}
85 @Override public final void setMenuBar(MenuBar mb) {}
86 @Override public final void setResizable(boolean resizable) {}
87 @Override public final void remove(MenuComponent m) {}
88 @Override public final void toFront() {}
89 @Override public final void toBack() {}
90
91 @SuppressWarnings("deprecation")
92 @Override public void addNotify() {
93 synchronized (getTreeLock()) {
94 if (getPeer() == null) {
95 SunToolkit stk = (SunToolkit)Toolkit.getDefaultToolkit();
96 try {
97 setPeer(stk.createLightweightFrame(this));
98 } catch (Exception e) {
99 throw new RuntimeException(e);
100 }
101 }
102 super.addNotify();
103 }
104 }
105
106 private void setPeer(final FramePeer p) {
107 AWTAccessor.getComponentAccessor().setPeer(this, p);
108 }
109
110 /**
111 * Requests the peer to emulate activation or deactivation of the
112 * frame. Peers should override this method if they are to implement
113 * this functionality.
114 *
115 * @param activate if <code>true</code>, activates the frame;
116 * otherwise, deactivates the frame
117 */
118 @SuppressWarnings("deprecation")
119 public void emulateActivation(boolean activate) {
120 ((FramePeer)getPeer()).emulateActivation(activate);
121 }
122
123 /**
124 * Delegates the focus grab action to the client (embedding) application.
125 * The method is called by the AWT grab machinery.
126 *
127 * @see SunToolkit#grab(java.awt.Window)
128 */
129 public abstract void grabFocus();
130
131 /**
132 * Delegates the focus ungrab action to the client (embedding) application.
133 * The method is called by the AWT grab machinery.
134 *
135 * @see SunToolkit#ungrab(java.awt.Window)
136 */
137 public abstract void ungrabFocus();
138
139 /**
140 * Returns the scale factor of this frame. The default value is 1.
|
1 /*
2 * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
74
75 @Override public Graphics getGraphics() { return null; }
76
77 @Override public final boolean isResizable() { return true; }
78
79 // Block modification of any frame attributes, since they aren't
80 // applicable for a lightweight frame.
81
82 @Override public final void setTitle(String title) {}
83 @Override public final void setIconImage(Image image) {}
84 @Override public final void setIconImages(java.util.List<? extends Image> icons) {}
85 @Override public final void setMenuBar(MenuBar mb) {}
86 @Override public final void setResizable(boolean resizable) {}
87 @Override public final void remove(MenuComponent m) {}
88 @Override public final void toFront() {}
89 @Override public final void toBack() {}
90
91 @SuppressWarnings("deprecation")
92 @Override public void addNotify() {
93 synchronized (getTreeLock()) {
94 if (!isDisplayable()) {
95 SunToolkit stk = (SunToolkit)Toolkit.getDefaultToolkit();
96 try {
97 setPeer(stk.createLightweightFrame(this));
98 } catch (Exception e) {
99 throw new RuntimeException(e);
100 }
101 }
102 super.addNotify();
103 }
104 }
105
106 private void setPeer(final FramePeer p) {
107 AWTAccessor.getComponentAccessor().setPeer(this, p);
108 }
109
110 /**
111 * Requests the peer to emulate activation or deactivation of the
112 * frame. Peers should override this method if they are to implement
113 * this functionality.
114 *
115 * @param activate if <code>true</code>, activates the frame;
116 * otherwise, deactivates the frame
117 */
118 public void emulateActivation(boolean activate) {
119 final FramePeer peer = AWTAccessor.getComponentAccessor().getPeer(this);
120 peer.emulateActivation(activate);
121 }
122
123 /**
124 * Delegates the focus grab action to the client (embedding) application.
125 * The method is called by the AWT grab machinery.
126 *
127 * @see SunToolkit#grab(java.awt.Window)
128 */
129 public abstract void grabFocus();
130
131 /**
132 * Delegates the focus ungrab action to the client (embedding) application.
133 * The method is called by the AWT grab machinery.
134 *
135 * @see SunToolkit#ungrab(java.awt.Window)
136 */
137 public abstract void ungrabFocus();
138
139 /**
140 * Returns the scale factor of this frame. The default value is 1.
|