Кроме того, вы, вероятно, не должны диктовать, какая кнопка слева или справа. Это один из отличных способов использования MiGLayout (независимость от платформы, даже в том, что касается кнопки отмены).
p.add(cancelButton, "tag cancel");
p.add(okButton, "tag ok");
Теперь кнопки будут отображаться в правильном порядке в зависимости от платформы.
Вот статья с кодом, делающим то, что вы собираетесь. Я настоятельно рекомендую избегать попыток изменить размер компонентов, таких как кнопки (они действительно должны исходить из внешнего вида платформы). Кроме того, стыковка хороша, если в этом есть смысл, но я редко нахожу это необходимым. Вместо того чтобы создавать полностью отдельную панель для кнопок, просто разбейте строку, в которой находятся кнопки, - гораздо чище, и вы не получите все вложенные панели.
Трудно отойти от техники размещения границ на вложенных панелях, но как только вы освоите ее, MigLayout станет мечтой. Кстати, я понимаю, что бывают случаи, когда вам может понадобиться создать панель кнопок в библиотеке - в этом случае отдельные панели могут иметь смысл (хотя вы можете также добавить в библиотеку строку кнопок на существующей панели, вместо возврата панели, которую вы затем добавляете в макет).