Swing UI elements not initialized

Answered

Hello,
in my plugin I'm using some forms (f.e. for Language settings) created by Intellij

RMB -> New -> Swing UI Designer -> Create Dialog Class

But that generated component in some cases fails that elements are null -> it seems that when developing a plugin (running gradle runIde) all is ok, but once released and installed from marketplace it fails:

java.awt.IllegalComponentStateException: contentPane cannot be set to null.
	at java.desktop/javax.swing.JRootPane.setContentPane(JRootPane.java:594)
	at java.desktop/javax.swing.JDialog.setContentPane(JDialog.java:1036)
	at gdscript.settings.GdDownloadSdk.<init>(GdDownloadSdk.java:24)
	at gdscript.settings.component.GdSettingsComponents.addSdk$lambda$3(GdSettingsComponents.kt:65)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
	at java.desktop/java.awt.Component.processEvent(Component.java:6421)
...

How are those components supposed to be initialized?

0
2 comments

P.S. I've tried to change gradle build to IntelliJ as writtent at the end of:

https://www.jetbrains.com/help/idea/work-with-gradle-projects.html#delegate_build_gradle

But no luck... or does it not affect builds run with gradle configuration?

0

Ok I've found it.
Not sure why it worked when runned for development, but 'Ive been missing main method inside form class and even found out that maybe I've been building it wrong and should call buildPlugin instead of just build

0

Please sign in to leave a comment.