void (AnActionButton button) { ClassNameInputDialog dlg = new ClassNameInputDialog(myProject, mySplitter); dlg.show(); if (dlg.getExitCode() == OK_EXIT_CODE) { String className = dlg.getClassName(); if (className.isEmpty()) return; final Class<?> aClass; try { aClass = Class.forName(className, true, LoaderFactory.getInstance(myProject).getProjectClassLoader()); } catch (ClassNotFoundException ex) { Messages.showErrorDialog(mySplitter, UIDesignerBundle.message("client.properties.class.not.found", className), UIDesignerBundle.message("client.properties.title")); return; } if (!JComponent.class.isAssignableFrom(aClass)) { Messages.showErrorDialog(mySplitter, UIDesignerBundle .message("client.properties.class.not.component", className), UIDesignerBundle.message("client.properties.title")); return; } myManager.addClientPropertyClass(className); fillClassTree(); } }