You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ctakes.apache.org by "melvin ma (JIRA)" <ji...@apache.org> on 2017/10/11 17:29:00 UTC

[jira] [Comment Edited] (CTAKES-442) npe in simple piper fabricator gui

    [ https://issues.apache.org/jira/browse/CTAKES-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16200630#comment-16200630 ] 

melvin ma edited comment on CTAKES-442 at 10/11/17 5:28 PM:
------------------------------------------------------------

It appears that the fix is really simple, when calling "getTableCellRendererComponent", we should pass in "fakeTable" as the first variable insteasd of null. Thanks! 

--------------------- Source from ctakes code -------------------
final Component header = fakeHeader.getDefaultRenderer().getTableCellRendererComponent( null,
            "Available Pipe Bits", false, false, -1, -1 );

---------------------- source code -------------
            public Component More ...getTableCellRendererComponent(JTable table, Object value,
226                                                       boolean isSelected,
227                                                       boolean hasFocus,
228                                                       int row, int column) {
229
230            boolean hasRollover = (column == getRolloverColumn());
231            if (isSelected || hasRollover || hasFocus) {
232                SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
233                             getUIOfType(getUI(), SynthLabelUI.class),
234                             isSelected, hasFocus, {color:#d04437}table.isEnabled(),{color}
235                             hasRollover);
236            } else {
237                SynthLookAndFeel.resetSelectedUI();
238            }


----------------------
ERROR:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at {color:#d04437}javax.swing.plaf.synth.SynthTableHeaderUI$HeaderRenderer.getTableCellRendererComponent(SynthTableHeaderUI.java:234)
	at org.apache.ctakes.gui.pipeline.MainPanel2.createWestPanel(MainPanel2.java:94){color}
	at org.apache.ctakes.gui.pipeline.MainPanel2.createMainPanel(MainPanel2.java:139)
	at org.apache.ctakes.gui.pipeline.MainPanel2.<init>(MainPanel2.java:76)
	at org.apache.ctakes.gui.pipeline.PiperCreator.createMainPanel(PiperCreator.java:40)
	at org.apache.ctakes.gui.pipeline.PiperCreator.lambda$main$0(PiperCreator.java:53)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)




was (Author: melvinma88):
It appears that the fix is really simple, when calling "getTableCellRendererComponent", we should pass in "fakeTable" as the first variable insteasd of null. Thanks! 

--------------------- Source from ctakes code 
final Component header = fakeHeader.getDefaultRenderer().getTableCellRendererComponent( null,
            "Available Pipe Bits", false, false, -1, -1 );
---------------------- source code from [here](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/javax/swing/plaf/synth/SynthTableHeaderUI.java#SynthTableHeaderUI)
            public Component More ...getTableCellRendererComponent(JTable table, Object value,
226                                                       boolean isSelected,
227                                                       boolean hasFocus,
228                                                       int row, int column) {
229
230            boolean hasRollover = (column == getRolloverColumn());
231            if (isSelected || hasRollover || hasFocus) {
232                SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
233                             getUIOfType(getUI(), SynthLabelUI.class),
234                             isSelected, hasFocus, {color:#d04437}table.isEnabled(),{color}
235                             hasRollover);
236            } else {
237                SynthLookAndFeel.resetSelectedUI();
238            }
----------------------
ERROR:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at javax.swing.plaf.synth.SynthTableHeaderUI$HeaderRenderer.getTableCellRendererComponent(SynthTableHeaderUI.java:234)
	at org.apache.ctakes.gui.pipeline.MainPanel2.createWestPanel(MainPanel2.java:94)
	at org.apache.ctakes.gui.pipeline.MainPanel2.createMainPanel(MainPanel2.java:139)
	at org.apache.ctakes.gui.pipeline.MainPanel2.<init>(MainPanel2.java:76)
	at org.apache.ctakes.gui.pipeline.PiperCreator.createMainPanel(PiperCreator.java:40)
	at org.apache.ctakes.gui.pipeline.PiperCreator.lambda$main$0(PiperCreator.java:53)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)



> npe in simple piper fabricator gui
> ----------------------------------
>
>                 Key: CTAKES-442
>                 URL: https://issues.apache.org/jira/browse/CTAKES-442
>             Project: cTAKES
>          Issue Type: Bug
>          Components: ctakes-gui
>    Affects Versions: 4.0.0
>            Reporter: Sean Finan
>            Assignee: Sean Finan
>             Fix For: 4.0.1
>
>
> From David Kincaid:
> I'm getting a NullPointerException while trying to launch the Piper Creator GUI from a Linux command line. I have Ubuntu Linux 16.10 and using Oracle JVM 1.8.0_131. Here is the stacktrace I get when I run bin/runPiperCreator.sh from the cTAKES 4.0 root:
> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at
> javax.swing.plaf.synth.SynthTableHeaderUI$HeaderRenderer.getTableCellRendererComponent(SynthTableHeaderUI.java:234)
> at
> org.apache.ctakes.gui.pipeline.MainPanel2.createWestPanel(MainPanel2.java:94)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)