Новый Swing JLayer в Java 7 - PullRequest
       0

Новый Swing JLayer в Java 7

2 голосов
/ 13 сентября 2011

Я только догоняю некоторые из новых функций в J7 и растерялся, добавив эти JLayers в Swing. Поскольку они настолько новы, у меня возникают огромные трудности с поиском хорошей литературы по ним и наилучшей практики их использования.

Может ли кто-нибудь указать мне правильное направление или привести пример того, что делают эти компоненты и для каких целей они (как правило) служат?

Спасибо за любой вклад!

1 Ответ

3 голосов
/ 13 сентября 2011

JLayer может использоваться для динамического улучшения любого из ваших существующих компонентов.

Допустим, у вас есть какая-то пользовательская кнопка (скажем, MyJButton), и вы хотите добавить эффект наведения мыши или, возможно, некоторое затенение.Традиционно вы создаете новый класс, наследующий от MyJButton, который будет реализовывать ваши новые функции.

Одной из проблем этого подхода является то, что новые эффекты применимы только к MyJButton (поскольку ваш новый класс расширяет MyJButton).Другая проблема с этим подходом состоит в том, что вы не можете изменять улучшения / эффекты во время выполнения, так как отношения наследования фиксируются во время компиляции.

Используя JLayer, вы можете поместить LayerUI вместе слюбой существующий Component (не только JButton или MyJButton) для добавления ваших пользовательских эффектов к компоненту.Если у вас есть LayerUI, который выполняет затенение, вы можете соединить его с JButton, JTextField, JPanel или любым другим компонентом для выполнения этого затенения.Вы также можете изменить состав LayerUI и компонентов во время выполнения.

JLayer - это особый случай шаблона decorator .

http://www.intermediatejava.com/2011/06/jlayer-for-swing/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...