Прежде всего, вы не меняете размерность JButton.Вы указываете желаемый предпочтительный размер, который в конечном итоге может быть применен к вашему JButton в зависимости от LayoutManager компонента, в который он вставлен.
Что касается использования объекта Dimension, то это нормально.В конце концов, вы можете получить прямой доступ к полю измерения:
Dimension d = button.getPreferredSize();
d.height = 10;
jbutton.setPreferredSize(d);
, но это почти то же самое.