1 /*
2 * Copyright (c) 1996, 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
23 * questions.
24 */
25 package sun.awt.windows;
26
27 import java.awt.*;
28 import java.awt.peer.*;
29
30 import sun.awt.SunGraphicsCallback;
31
32 class WPanelPeer extends WCanvasPeer implements PanelPeer {
33
34 // ComponentPeer overrides
35
36 @Override
37 public void paint(Graphics g) {
38 super.paint(g);
39 SunGraphicsCallback.PaintHeavyweightComponentsCallback.getInstance().
40 runComponents(((Container)target).getComponents(), g,
41 SunGraphicsCallback.LIGHTWEIGHTS |
42 SunGraphicsCallback.HEAVYWEIGHTS);
43 }
44 @Override
45 public void print(Graphics g) {
46 super.print(g);
47 SunGraphicsCallback.PrintHeavyweightComponentsCallback.getInstance().
48 runComponents(((Container)target).getComponents(), g,
49 SunGraphicsCallback.LIGHTWEIGHTS |
50 SunGraphicsCallback.HEAVYWEIGHTS);
51 }
52
53 // ContainerPeer (via PanelPeer) implementation
62 Insets insets_;
63
64 static {
65 initIDs();
66 }
67
68 /**
69 * Initialize JNI field IDs
70 */
71 private static native void initIDs();
72
73 WPanelPeer(Component target) {
74 super(target);
75 }
76
77 @Override
78 void initialize() {
79 super.initialize();
80 insets_ = new Insets(0,0,0,0);
81
82 Color c = ((Component)target).getBackground();
83 if (c == null) {
84 c = WColor.getDefaultColor(WColor.WINDOW_BKGND);
85 ((Component)target).setBackground(c);
86 setBackground(c);
87 }
88 c = ((Component)target).getForeground();
89 if (c == null) {
90 c = WColor.getDefaultColor(WColor.WINDOW_TEXT);
91 ((Component)target).setForeground(c);
92 setForeground(c);
93 }
94 }
95
96 /**
97 * DEPRECATED: Replaced by getInsets().
98 */
99 public Insets insets() {
100 return getInsets();
101 }
102 }
|
1 /*
2 * Copyright (c) 1996, 2016, 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
23 * questions.
24 */
25 package sun.awt.windows;
26
27 import java.awt.*;
28 import java.awt.peer.*;
29
30 import sun.awt.SunGraphicsCallback;
31
32 class WPanelPeer extends WCanvasPeer implements PanelPeer {
33
34 // Default background. Gets set on target if
35 // target has none explicitly specified.
36 static final Color defaultBackground = SystemColor.control;
37
38 // Default foreground. Gets set on target if
39 // target has none explicitly specified.
40 static final Color defaultForeground = SystemColor.windowText;
41
42 // ComponentPeer overrides
43
44 @Override
45 public void paint(Graphics g) {
46 super.paint(g);
47 SunGraphicsCallback.PaintHeavyweightComponentsCallback.getInstance().
48 runComponents(((Container)target).getComponents(), g,
49 SunGraphicsCallback.LIGHTWEIGHTS |
50 SunGraphicsCallback.HEAVYWEIGHTS);
51 }
52 @Override
53 public void print(Graphics g) {
54 super.print(g);
55 SunGraphicsCallback.PrintHeavyweightComponentsCallback.getInstance().
56 runComponents(((Container)target).getComponents(), g,
57 SunGraphicsCallback.LIGHTWEIGHTS |
58 SunGraphicsCallback.HEAVYWEIGHTS);
59 }
60
61 // ContainerPeer (via PanelPeer) implementation
70 Insets insets_;
71
72 static {
73 initIDs();
74 }
75
76 /**
77 * Initialize JNI field IDs
78 */
79 private static native void initIDs();
80
81 WPanelPeer(Component target) {
82 super(target);
83 }
84
85 @Override
86 void initialize() {
87 super.initialize();
88 insets_ = new Insets(0,0,0,0);
89
90 if (!((Component) target).isBackgroundSet()) {
91 ((Component) target).setBackground(defaultBackground);
92 setBackground(defaultBackground);
93 }
94 if (!((Component) target).isForegroundSet()) {
95 ((Component) target).setForeground(defaultForeground);
96 setForeground(defaultForeground);
97 }
98
99 }
100
101 /**
102 * DEPRECATED: Replaced by getInsets().
103 */
104 public Insets insets() {
105 return getInsets();
106 }
107 }
|