Name: skT88420 Date: 02/01/2000
pjava.exe version "3.1"
PersonalJava 3.1 introduces JDK1.2 security APIs into the JDK 1.1.8 base API
set. Swing 1.1.1 happens to test for the existence of 1.2 security APIs in
order to determine what JVM version it is running under. This test succeeds
and Swing believes it is running in a 1.2 JVM, but it is not - pJava 3.1 is
1.1.8 based with only 1.2 security APIs added.
The test is in javax.swing.SwingUtilities. It tests for
Class.getProtectionDomain which is a 1.2 API. However this API was also
introduced into pJava 3.1.
static {
try {
// Test if method introduced in 1.2 is available.
Method m = Class.class.getMethod("getProtectionDomain", null);
is1dot2 = (m != null);
} catch (NoSuchMethodException e) {
is1dot2 = false;
}
// Warn if running wrong version of this class for this JDK.
if (is1dot2) {
System.err.println("warning: running 1.1 version of
SwingUtilities");
}
}
Running a simple Swing application under pJava 3.1 results in this exception:
warning: running 1.1 version of SwingUtilities
java.lang.NoSuchFieldException
at java.lang.Class.getField()
at javax.swing.KeyStroke.getKeyStroke()
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults()
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults()
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults()
at javax.swing.UIManager.setLookAndFeel()
at javax.swing.UIManager.setLookAndFeel()
at javax.swing.UIManager.initializeDefaultLAF()
at javax.swing.UIManager.initialize()
at javax.swing.UIManager.maybeInitialize()
at javax.swing.UIManager.getUI()
at javax.swing.JButton.updateUI()
at javax.swing.AbstractButton.init()
at javax.swing.JButton.<init>()
at javax.swing.JButton.<init>()
at SwingTest.main()
java.lang.Error: Unrecognized keycode name: VK_KP_LEFT
at javax.swing.KeyStroke.getKeyStroke()
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults()
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults()
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults()
at javax.swing.UIManager.setLookAndFeel()
at javax.swing.UIManager.setLookAndFeel()
at javax.swing.UIManager.initializeDefaultLAF()
at javax.swing.UIManager.initialize()
at javax.swing.UIManager.maybeInitialize()
at javax.swing.UIManager.getUI()
at javax.swing.JButton.updateUI()
at javax.swing.AbstractButton.init()
at javax.swing.JButton.<init>()
at javax.swing.JButton.<init>()
at SwingTest.main()
(Review ID: 100654)
======================================================================