-
Bug
-
Resolution: Fixed
-
P3
-
1.4.0
-
beta2
-
generic
-
solaris_8
-
Verified
Name: dsR10078 Date: 03/24/2001
After 4422171 is fixed a related problem remains unresolved.
On Solaris/Linux any application which uses TextField or TextArea loads
many datatransfer classes on startup even if they will not be used.
This has a negative impact on startup time and footprint.
Here is a test case to reproduce the problem:
-------------------------------------------------------------------
import java.awt.Frame;
import java.awt.TextField;
import java.awt.TextArea;
import java.awt.FlowLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Test {
public static void main(String[] args) {
final TextArea textarea = new TextArea();
final TextField textfield = new TextField();
final Frame frame = new Frame();
final FlowLayout layout = new FlowLayout();
final WindowAdapter windowAdapter = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
frame.dispose();
}
};
frame.setLayout(layout);
frame.add(textarea);
frame.add(textfield);
frame.pack();
frame.addWindowListener(windowAdapter);
frame.setVisible(true);
}
}
-------------------------------------------------------------------
Run this test with '-verbose:class' option.
Here is an excerpt from output:
...
[Loaded sun.awt.motif.MTextAreaPeer from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.motif.X11Selection from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.FlavorMap from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.FlavorTable from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.SystemFlavorMap from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.DataFlavor from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.MimeTypeParameterList from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.MimeType from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.DataFlavor$1 from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.Image from /merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.SystemFlavorMap$1 from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.SystemFlavorMap$2 from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.datatransfer.DataTransferer from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.datatransfer.DataTransferer$IndexedComparator from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.datatransfer.DataTransferer$CharsetComparator from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.datatransfer.DataTransferer$DataFlavorComparator from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.datatransfer.DataTransferer$1 from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.motif.MDataTransferer from
/merlin/build/solaris-i386/classes]
[Loaded sun.awt.datatransfer.ToolkitThreadBlockedHandler from
/merlin/build/solaris-i386/classes]
[Loaded java.awt.datatransfer.Transferable from
/merlin/build/solaris-i386/classes]
...
This happens since Motif peer classes for TextField/TextArea load
X11Selection
in their static initializers to fix 4354288. This triggers loading of
all other
classes.
###@###.### 2001-03-16
======================================================================
- relates to
-
JDK-4422171 AWT/Swing should delay DnD loading
-
- Resolved
-
-
JDK-4354288 Cut/Copy/Paste keys cause VM crash
-
- Resolved
-