2008-11-06 2 views
4

Возможно ли разработать пользовательские темы PLAF для Swing? Я был бы признателен конструктивным предложениям в этой теме ThanksJava Swing GUI theming

ответ

1

Infonode обеспечивает основу для разработки нового внешнего вида и чувств. У них есть библиотека GPL'd, которую вы можете использовать.

См. this.

4

Да! Но не делайте этого. Если вам нужно просто изменить цвета. Попробуйте JGoodies или Substance и повинуйтесь написанию собственного PLAF.

+0

+1 для JGoodies – 2009-10-15 11:54:42

2

Это зависит от того, что вы точно хотите сделать. Написание собственного LAF, простирающегося от Java Basic или Metal, - это большая работа, но это можно сделать. Если у вас есть специальные цели, например, например, рисовать градиентный фон для Jtrees или анимации highlightin, это будет сложно, но это также можно сделать. Также очень полезно скачать LAF с открытым исходным кодом для качания и посмотреть исходный код, чтобы узнать, как написать свой собственный PLAF. Пожалуйста, посмотрите here.

0

Возможно создание пользовательской PLAF с использованием встроенного Synth Look-and-Feel. Это в основном PLAF, который позволяет настраивать внешний вид всех компонентов (или только конкретных из них через имена компонентов) через файл конфигурации XML. Пакет [javax.swing.plaf.synth][1] JavaDoc дает хороший обзор того, что возможно, и есть дополнительная документация, связанная с JavaDocs для использования этой PLAF.

Я использовал это в своих проектах раньше, и с ним очень легко работать. Вы можете использовать свои собственные графические изображения для всех компонентов и можете настроить практически все, что угодно, без необходимости проходить через все это громоздкое пользовательское кодирование, которое было необходимо для создания PLAF

1

Если вы хотите настроить Swing Look and Feel - смотрите за PLAF в библиотеки, такие как FUSE. Это настраиваемый внешний вид качели.

Вот несколько скриншотов: http://www.curious-creature.org/2006/02/12/fuseswing-demo/

Вот это библиотека: https://fuse.dev.java.net/

Это что-то написано, что использовал его: https://aerith.dev.java.net/ (также с некоторыми большими скриншотами)

Смежные вопросы