void () { WizardStep current = myModel.getCurrentStep(); myIcon.setIcon(current.getIcon()); myHeader.setFont(myHeader.getFont().deriveFont(Font.BOLD, 14)); myHeader.setText(current.getTitle()); myExplanation.setText(current.getExplanation()); @NonNls String stepName = myStepCardNames.get(current); if (stepName == null) { stepName = "Step" + myStepCardNames.size(); myStepContent.add(myModel.getCurrentComponent(), stepName); myStepCardNames.put(current, stepName); } myCardLayout.show(myStepContent, stepName); WizardNavigationState state = myModel.getCurrentNavigationState(); myPrevious.setAction(state.PREVIOUS); myNext.setAction(state.NEXT); myFinish.setAction(state.FINISH); myCancel.setAction(state.CANCEL); if (myNext.isEnabled()) { getRootPane().setDefaultButton(myNext); } else if (myFinish.isEnabled()) { getRootPane().setDefaultButton(myFinish); myFinish.requestFocusInWindow(); } else if (myCancel.isEnabled()) { getRootPane().setDefaultButton(myCancel); } else { getRootPane().setDefaultButton(null); } JComponent focusComponent = current.getPreferredFocusedComponent(); if (focusComponent != null) { focusComponent.requestFocusInWindow(); } }