Э-э ... Да, они "на 100% независимы" от ОС.
По крайней мере, до такой степени, что все JVM должны их поддерживать.
Полагаю, я не понимаю, что вы подразумеваете под 100% независимостью. По своей сути Swing нужен чуть больше, чем доступ к главному оконному менеджеру и блиттер, хотя он, очевидно, может (и делает) использовать гораздо больше.
Проще говоря, часть переноса JVM включает перенос основных графических возможностей, требуемых Swing. Некоторые порты используют ОС лучше, чем другие, но на высоком уровне Swing вы, как правило, не беспокоитесь об этом.