Возможно, вы создаете свои элементы GUI перед тем, как настраивать L & F? Если вы уже создали (например) экземпляры JButton и вызвали для них методы, они распределяют свой одноранговый пользовательский интерфейс - изменения в L & F после этого не влияют на уже созданные экземпляры.
Это объясняет, почему он работает на Mac (по умолчанию L & F используется Mac на JVM IIRC от Apple), но не на Windows. Вы можете быстро проверить это, если переместите установку L & F непосредственно в ваш метод main в качестве самого первого вызова (это, конечно, при условии, что ваш основной класс НЕ содержит статически инициализированных экземпляров GUI).