Вы, безусловно, можете создавать великолепно выглядящие пользовательские интерфейсы в Swing - такие приложения, как NetBeans и IntelliJ IDEA доказали это среди многих других.
Единственная альтернатива Swing - это SWT (Eclipses toolkit), однако она не переносима, как Swing, и не так гибка. Однако он предлагает более высокую производительность и использование собственных компонентов, что может быть тем, чего на самом деле хотят некоторые люди.
Существуют также привязки Java для большинства существующих инструментариев GUI - например, Java для Gnome , и кто-то может найти их интересными.
Я, однако, предпочитаю исключительную переносимость Swing, принятие MVC, внешний вид и возможности подключения, наличие множества сторонних библиотек с дополнительными компонентами ( SwingX , JIDE , ...) и простота использования.
Между прочим, для достижения оптимальных результатов в Swing важно выбрать хороший менеджер раскладки - я рекомендую вам взглянуть на всемогущий MiG layout .