Application.application == null Follow
I am trying to do this under IntelliJ IDEA 2016.3:
Application.invokeLater(() -> {
JButton component = new JButton(message);
component.setPreferredSize(new Dimension(300, 30));
component.addActionListener((event) -> {
StringSelection stringSelection = new StringSelection(message);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
});
WindowManager.getInstance().getStatusBar(element.getProject()).fireNotificationPopup(component, color);
});
It fails with the following exception:
ull
java.lang.NullPointerException
at com.sun.glass.ui.Application.invokeLater(Application.java:481)
at com.dreambox.misc.Bubble.show(Bubble.java:43)
at com.dreambox.misc.Bubble.showInfo(Bubble.java:35)
at com.dreambox.elements.MyAbstractPlayElement$1.navigate(MyAbstractPlayElement.java:115)
at com.intellij.codeInsight.daemon.NavigateAction.actionPerformed(NavigateAction.java:56)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:199)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:215)
at com.intellij.openapi.editor.impl.EditorGutterComponentImpl.a(EditorGutterComponentImpl.java:1701)
at com.intellij.openapi.editor.impl.EditorGutterComponentImpl.mouseReleased(EditorGutterComponentImpl.java:1662)
at com.intellij.openapi.editor.impl.EditorImpl.f(EditorImpl.java:4336)
at com.intellij.openapi.editor.impl.EditorImpl.access$11500(EditorImpl.java:131)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.c(EditorImpl.java:5898)
at com.intellij.openapi.command.impl.CoreCommandProcessor.a(CoreCommandProcessor.java:149)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:109)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.b(EditorImpl.java:5900)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.mouseReleased(EditorImpl.java:5791)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
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:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:675)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391)
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)
Debugging it has led me to this:
This is happening after my IntelliJ has successfully started up and is running, with external annotators and all.
This still is the preferred way to do invokeLater(), right?
Please sign in to leave a comment.
You need another Application class - com.intellij.openapi.application.Application, usually accessed like this:
Oops! So silly of me. Thank you.