Поскольку Java-байт-код является переносимым, нет большой разницы между написанием Java-приложения для Windows и написанием его для Ubuntu. Вы можете использовать Swing, SWT или JavaFx для вашего графического интерфейса, а Eclipse - как IDE.
Вы также можете писать приложения на родном языке в Java с помощью Swing . JGIR позволит вам использовать GTK + 3 для создания вашего приложения.