How to allow for JDK selection in NewProjectWizard setupUI?

I have tried using sdkComboBox as in the code snippet below, but I got a severe warning that the implementation is too slow and is hogging up the EDT. Is there a class or function that I can call to easily allow for a user to set the JDK (Something like sdkComboBox but not slow)?

class Step(parent: NewProjectWizardStep) :
    AbstractNewProjectWizardStep(parent), CustomData {
    // JDK to use
    private val sdkProperty = propertyGraph.property<Sdk?>(null)
    override var sdk: Sdk? by sdkProperty


    init {
        data.putUserData(CustomData.KEY, this)
    }

    override fun setupUI(builder: Panel) {
        with(builder) {
            // ...
            row("JDK: ") {  // Handles the setting of project JDK too
                sdkComboBox(context, sdkProperty, "CustomJDK")
            }
        }
    }

Thanks in advance.

IntelliJ IDEA Java plugin uses com.intellij.ide.projectWizard.ProjectWizardJdkComboBoxKt#projectWizardJdkComboBox

You can explore its usages in

What does it say exactly?

Ok got it, will check out the projectWizardJdkComboBox. Was hoping for a ready-made function or class to call since it seems that having an option for selecting JDKs during new porject creation is quite common.

Thanks again Yuriy :grinning_face:

Here’s the error logs:
2026-02-16 18:25:42,899 [ 10736] SEVERE - #c.i.u.SlowOperations - Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc.
java.lang.Throwable: Slow operations are prohibited on EDT. See SlowOperations.assertSlowOperationsAreAllowed javadoc.
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:375)
at com.intellij.util.SlowOperations.logError(SlowOperations.java:172)
at com.intellij.util.SlowOperations.assertSlowOperationsAreAllowed(SlowOperations.java:120)
at com.intellij.openapi.vfs.newvfs.persistent.FSRecordsImpl.update(FSRecordsImpl.java:760)
at com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl.findChildInfo(PersistentFSImpl.java:631)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findInPersistence(VirtualDirectoryImpl.java:155)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.doFindChild(VirtualDirectoryImpl.java:138)
at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:84)
<111 folded frames>
2026-02-16 18:25:42,903 [ 10740] SEVERE - #c.i.u.SlowOperations - IntelliJ IDEA 2025.2 Build #IU-252.23892.409
2026-02-16 18:25:42,903 [ 10740] SEVERE - #c.i.u.SlowOperations - JDK: 21.0.7; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2026-02-16 18:25:42,903 [ 10740] SEVERE - #c.i.u.SlowOperations - OS: Windows 11
2026-02-16 18:25:42,903 [ 10740] SEVERE - #c.i.u.SlowOperations - Plugin to blame: IntelliJ CustomPlugin version: 0.6.0
2026-02-16 18:25:42,904 [ 10741] SEVERE - #c.i.u.SlowOperations - Last Action: WelcomeScreen.CreateNewProject