Вы должны взглянуть на JavaFX, который позволяет проще и приятнее (чем Swing) графические взаимодействия и анимации и прекрасно интегрируется с Swing.
У меня нет личного опыта работы с JavaFX, но мой коллега работает над проектом, который показывает путь к различным комнатам и зданиям в нашей организации на карте, используя сенсорный экран для ввода. Он использует JavaFX для GUI и Java для бэкэнд-программирования, и он вполне удовлетворен.