United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6633354 AppletPanel loads Swing classes
6633354 : AppletPanel loads Swing classes

Details
Type:
Bug
Submit Date:
2007-11-22
Status:
Closed
Updated Date:
2011-05-18
Project Name:
JDK
Resolved Date:
2011-05-18
Component:
client-libs
OS:
generic
Sub-Component:
java.awt
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
7

Related Reports
Backport:

Sub Tasks

Description
sun.applet.AppletPanel uses SwingUtilities.invokeAndWait(). This causes loading of Swing jkernel bundles even for pure AWT applets.

                                    

Comments
EVALUATION

the description section contains all information.
                                     
2007-11-27
SUGGESTED FIX

Replace SwingUtilities with EventQueue:

------- AppletPanel.java -------
*** /tmp/sccs.ehY6TV    Thu Nov 22 20:11:41 2007
--- AppletPanel.java    Thu Nov 22 16:24:44 2007
***************
*** 45,51 ****
  import java.util.Collections;
  import java.util.Locale;
  import java.util.WeakHashMap;
- import javax.swing.SwingUtilities;
  import sun.awt.AppContext;
  import sun.awt.EmbeddedFrame;
  import sun.awt.SunToolkit;
--- 45,50 ----
***************
*** 451,457 ****
                        try {
                            final AppletPanel p = this;

!                           SwingUtilities.invokeAndWait(new Runnable() {
                                    public void run() {
                                        p.validate();
                                    }
--- 450,456 ----
                        try {
                            final AppletPanel p = this;

!                           EventQueue.invokeAndWait(new Runnable() {
                                    public void run() {
                                        p.validate();
                                    }
***************
*** 481,487 ****
                            final AppletPanel p = this;
                            final Applet a = applet;

!                           SwingUtilities.invokeAndWait(new Runnable() {
                                    public void run() {
                                        p.validate();
                                        a.setVisible(true);
--- 480,486 ----
                            final AppletPanel p = this;
                            final Applet a = applet;

!                           EventQueue.invokeAndWait(new Runnable() {
                                    public void run() {
                                        p.validate();
                                        a.setVisible(true);
***************
*** 515,521 ****
                    try {
                        final Applet a = applet;

!                       SwingUtilities.invokeAndWait(new Runnable() {
                                public void run()
                                {
                                    a.setVisible(false);
--- 514,520 ----
                    try {
                        final Applet a = applet;

!                       EventQueue.invokeAndWait(new Runnable() {
                                public void run()
                                {
                                    a.setVisible(false);
                                     
2007-11-22



Hardware and Software, Engineered to Work Together