void (int index, @NotNull Action action) { JButton button = new JButton(action); add(button, index); DialogUtil.registerMnemonic(button); if (getBorder() == null) setBorder(IdeBorderFactory.createBorder(SideBorder.TOP)); update(); Object s = action.getValue(Action.LONG_DESCRIPTION); if (s instanceof String) { JBLabel label = new JBLabel((String)s); label.setEnabled(false); label.setFont(JBUI.Fonts.smallFont()); add(JBUI.Borders.emptyLeft(-1).wrap(label)); } s = action.getValue(Action.SHORT_DESCRIPTION); if (s instanceof String) { button.setToolTipText((String)s); } invalidate(); if (getParent() != null) { getParent().validate(); } }