Расширяемая среда графического интерфейса для Java
Я фанат свинга и считаю, что он сделал все, что мне нужно, за исключением расширяемого графического интерфейса. Я могу сделать небольшие части расширяемыми программно, но если я хочу подключить дополнительную функцию, может быть довольно утомительно динамически генерировать каждый изменяемый компонент.
Короткий период, который я потратил на написание плагина Firefox, очень заинтересовал меня идеей Overlays.
Существует ли что-нибудь для Java с подобной концепцией?
4 ответа
Конечно, было бы хорошо узнать более точно, что вы подразумеваете под "расширяемым" GUI.
В моей работе большинство потребностей в расширении компонентов Swing хорошо выполняются JXLayer. Например, такие вещи, как реализация уровня уведомлений проверки, блокировка с индикацией хода выполнения и т. Д.
"подключить"
Вы имеете в виду плагины?
Посмотрите здесь: http://karussell.wordpress.com/2009/09/16/plugable-swing-a-hello-world-osgi-example/
Подобные вещи возможны с классом поиска NetBeans (openide) и ServiceLoader, включенным в JDK6: http://weblogs.java.net/blog/2008/08/12/simple-dependency-injection-serviceloader-jdk-6
Для расширяемой структуры GUI смотрите здесь: http://karussell.wordpress.com/2009/10/08/java-application-frameworks-not-only-client-side/
Обновление: теперь с Griffon вы можете сделать это тоже
Взгляните на фреймворк SwingBean.
Это круто, потому что позволяет генерировать пользовательские интерфейсы через XML-файлы.
Вот ссылка: http://swingbean.sourceforge.net/
Было несколько попыток проектов, которые могут конвертировать XML-документ в графический интерфейс Java.
JavaFX был бы идеальным, но для этого требуется 1.6u10 или лучше.