PushButton pushButton = (PushButton)getComponent();
Button.DataRenderer dataRenderer = pushButton.getDataRenderer();
dataRenderer.render(pushButton.getButtonData(), pushButton, false);
Dimensions preferredContentSize = dataRenderer.getPreferredSize();
int preferredWidth = preferredContentSize.width
+ padding.left + padding.right + 2;
int preferredHeight = preferredContentSize.height
+ padding.top + padding.bottom + 2;
return new Dimensions(preferredWidth, preferredHeight);
}