Dúvida sobre Swing + JNA [RESOLVIDO]

Bom dia a todos. Estou com um pequeno problema.
Eu montei uma aplicação que faz chamadas em C usando JNA.
Enquanto eu usava só o JNA puro, funcionava. Era mais ou menos assim:

Com o JNA eu chamava minha aplicação em C , QUE RECEBIA UM INPUT DO
USUÁRIO, e devolvia um valor pro JAVA. Funcionava tudo belezinha, no modo console.

Porém, agora eu preciso mostrar esse resultado que o C devolve num textbox
do Swing, mas quando chega na hora do JNA chamar a aplicação ela dá pau.
Creio que o problema seja o fato de o C precisar receber um input do usuário,
mas daí o Swing não pode parar pra resolver isso. Alguém já teve problema
parecido? Alguém tem alguma sugestão que possa me ajudar?

O erro:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6134)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5899)
        at java.awt.Container.processEvent(Container.java:2023)
        at java.awt.Component.dispatchEventImpl(Component.java:4501)
        at java.awt.Container.dispatchEventImpl(Container.java:2081)
        at java.awt.Component.dispatchEvent(Component.java:4331)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
        at java.awt.Container.dispatchEventImpl(Container.java:2067)
        at java.awt.Window.dispatchEventImpl(Window.java:2458)
        at java.awt.Component.dispatchEvent(Component.java:4331)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

uma thread para fazer esse input não resolveria o problema ?

Coloca um breakepoint aqui
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

Seu código está acessando uma área de memória que não existe.

Ok pessoal. Eu vou tentar resolver com uma thread e já volto com um resultado.

A propósito, as threads funcionaram. Usem threads.