[skinlf-dev] NPE when selecting a menu item with ENTER key.

"Christian Schlichtherle" <[email protected]> Sun, 19 Feb 2006 14:14:42 +0100
Newsgroups gmane.comp.java.skinlf.devel
Organization Schlichtherle IT Services
Message-ID <[email protected]>
------=_NextPart_000_0012_01C6355E.D4C2C510
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi Fred,

 

I noticed a NullPointerException in skinlf when selecting a menu item with
the ENTER key instead of the mouse or a mnemonic. This does not happen with
Sun's Metal L&F. The NPE happens with both JDK 1.4.2_10 and JDK 1.5.0_06.
Here is the stack trace.

 

java.lang.NullPointerException

        at
javax.swing.plaf.basic.BasicMenuItemUI.isInternalFrameSystemMenu(BasicMenuIt
emUI.java:1127)

        at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1095)

        at
javax.swing.plaf.basic.BasicPopupMenuUI$ReturnAction.actionPerformed(BasicPo
pupMenuUI.java:578)

        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1530)

        at javax.swing.JComponent.processKeyBinding(JComponent.java:2438)

        at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:253)

        at
javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:202)

        at
javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:25
15)

        at javax.swing.JComponent.processKeyBindings(JComponent.java:2507)

        at javax.swing.JComponent.processKeyEvent(JComponent.java:2401)

        at java.awt.Component.processEvent(Component.java:4909)

        at java.awt.Container.processEvent(Container.java:1569)

        at java.awt.Component.dispatchEventImpl(Component.java:3615)

        at java.awt.Container.dispatchEventImpl(Container.java:1627)

        at java.awt.Component.dispatchEvent(Component.java:3477)

        at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713
)

        at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusMa
nager.java:627)

        at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocu
sManager.java:831)

        at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:741)

        at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:592)

        at java.awt.Component.dispatchEventImpl(Component.java:3506)

        at java.awt.Container.dispatchEventImpl(Container.java:1627)

        at java.awt.Window.dispatchEventImpl(Window.java:1606)

        at java.awt.Component.dispatchEvent(Component.java:3477)

        at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)

        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:201)

        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:151)

        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

 

With best regards,

Christian Schlichtherle

---

Schlichtherle IT Services

Wittelsbacher Str. 10a

10707 Berlin

 

Mobil: 0173 / 27 12 470

mailto:[email protected]

http://www.schlichtherle.de

 


------=_NextPart_000_0012_01C6355E.D4C2C510
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.E-MailFormatvorlage17
	{mso-style-type:personal-compose;
	font-family:Arial;
	color:windowtext;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DDE link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Hi Fred,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>I noticed a NullPointerException in skinlf =
when selecting
a menu item with the ENTER key instead of the mouse or a mnemonic. This =
does
not happen with Sun&#8217;s Metal L&amp;F. The NPE happens with both JDK
1.4.2_10 and JDK 1.5.0_06. Here is the stack =
trace.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>java.lang.NullPointerException<o:p></o:p></span=
></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.plaf.basic.BasicMenuItemUI.isInternalFrameSystemMenu(BasicMen=
uItemUI.java:1127)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1095)=
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.plaf.basic.BasicPopupMenuUI$ReturnAction.actionPerformed(Basi=
cPopupMenuUI.java:578)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1530)<o:p></o=
:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.JComponent.processKeyBinding(JComponent.java:2438)<o:p></o:p>=
</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:253)<o:p></o=
:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at =
javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:202)<=
o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java=
:2515)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
javax.swing.JComponent.processKeyBindings(JComponent.java:2507)<o:p></o:p=
></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at =
javax.swing.JComponent.processKeyEvent(JComponent.java:2401)<o:p></o:p></=
span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Component.processEvent(Component.java:4909)<o:p></o:p></span></f=
ont></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Container.processEvent(Container.java:1569)<o:p></o:p></span></f=
ont></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Component.dispatchEventImpl(Component.java:3615)<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at =
java.awt.Container.dispatchEventImpl(Container.java:1627)<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Component.dispatchEvent(Component.java:3477)<o:p></o:p></span></=
font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1=
713)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocu=
sManager.java:627)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardF=
ocusManager.java:831)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardF=
ocusManager.java:741)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusMa=
nager.java:592)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Component.dispatchEventImpl(Component.java:3506)<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Container.dispatchEventImpl(Container.java:1627)<o:p></o:p></spa=
n></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at =
java.awt.Window.dispatchEventImpl(Window.java:1606)<o:p></o:p></span></fo=
nt></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.Component.dispatchEvent(Component.java:3477)<o:p></o:p></span></=
font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.EventQueue.dispatchEvent(EventQueue.java:480)<o:p></o:p></span><=
/font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread=
.java:201)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.j=
ava:151)<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)<o:p=
></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)<o:p=
></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)<o:p></o:p>=
</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>With best regards,</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Christian Schlichtherle</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>---</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Schlichtherle IT =
Services</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Wittelsbacher Str. 10a</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>10707 Berlin</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Mobil: 0173 / 27 12 470</span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><a =
href=3D"mailto:[email protected]">mailto:christian@schlichtherle=
.de</a></span></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><a =
href=3D"http://www.schlichtherle.de">http://www.schlichtherle.de</a></spa=
n></font><o:p></o:p></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_0012_01C6355E.D4C2C510--