Я думаю, что ваш лучший ответ - Обработка , учитывая ваше знакомство с Java. Обработка используется для создания множества демонстрационных и передовых графических приложений. Обработка построена на Java, но имеет собственный язык, который очень прост в использовании, и вы также можете использовать прямую Java. Я не знаю, есть ли у нее определенная библиотека виджетов, но, конечно, ее легко собрать самостоятельно. Посетите некоторые из выставок Processing , чтобы узнать о его мощности и гибкости.
Для истинной кроссплатформенной скорости и доступа к оборудованию вы можете посмотреть что-то вроде Simple DirectMedia Layer . SDL - это кроссплатформенная библиотека, используемая для демонстраций и игр. Имеет поддержку 2D и 3D, а также доступ к устройству. Он будет работать на Windows, Linux, Mac и множестве других вариантов аппаратного и программного обеспечения. Он написан на C, чтобы сделать его легко кроссплатформенным, но вы можете кодировать C ++ или использовать привязки для Python, Java или Ruby, если вы ищете что-то другое. Я не верю, что SDL не имеет встроенной библиотеки виджетов, но многие из них перечислены на их сайте в категории Интерфейс SDL библиотек .
Другой вариант - Qt , кросс-платформенная библиотека виджетов, недавно приобретенная Nokia. Nokia - нечетный владелец, но библиотека лицензирована по LGPL и предлагает все, что вам нужно. Я не знаком с созданием графически интенсивных демонстраций под Qt, но их документация делает это возможным.
openFrameworks также используется для демонстрации и передовых графических и аппаратных приложений. openFrameworks написан на C ++ и не так прост для менее опытных разработчиков. У него нет определенной библиотеки виджетов, и он все еще находится в состоянии альфа-версии. Я еще не углубился в openFrameworks, но он намного более продвинут и приспособлен для продвинутых приложений, таких как помеченные openFrameworks на Vimeo .