
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.01.2013, 19:24:44
|
|||
|---|---|---|---|
|
|||
Несколько вопросов по поводу кастомизации компонентов Swing |
|||
|
#18+
1) Как верно изменять стиль компонентов Swing своего приложения: создавать свой набор наследуя Swing-компоненты или меняя Look and Leel? 2) Когда и в каком месте использовать super.paintComponent()? Как я понимаю, он используется в том случае если нужно рисовать на родительском компоненте, а в случае если мы перерисовываем весь компонент - то им пользоваться не нужно? 3) В каких случаях следует переопределять paintBorder(); Или для изменения границы использовать setBorder? 4) Изменяю стиль меню, а именно JMenu, наследованием. Тут два вопроса: a) Как отрисовать свою рамку при наведении? У меня получается виндовая скругленная рамка а на ней то, что я рисую. b) Как изменить стиль Выпадающего меню (где содержаться JItemMenu)? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2013, 19:41:47
|
|||
|---|---|---|---|
|
|||
Несколько вопросов по поводу кастомизации компонентов Swing |
|||
|
#18+
kalexi1) Как верно изменять стиль компонентов Swing своего приложения: создавать свой набор наследуя Swing-компоненты или меняя Look and Leel? Всё зависит от того на сколько сильно нужно менять. Synth LAF предназначен как раз для возможности натянуть свой скин http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/synth.html Nimbus имеет кучу мелких настрое для стилизации, которые просто менять. http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html Реализация своего LAF достаточно трудоёмкая задача, поэтому для реализации чего-то экстравагантного, иногда, проще переопределить отрисовку. Но в этом случае есть большой риск того что отрисовка начнет притормаживать из-за этого. Так что я бы не рекомендовал ни того ни другого. kalexi2) Когда и в каком месте использовать super.paintComponent()? Как я понимаю, он используется в том случае если нужно рисовать на родительском компоненте, а в случае если мы перерисовываем весь компонент - то им пользоваться не нужно? super.paintComponent() вызывается из переопределенного метода paintComponent() в вашем компоненте. В JavaDoc подробно написано что если вы его не вызываете, то стоит позаботиться о правильном заполнении фона с учетом свойства opaque. kalexi3) В каких случаях следует переопределять paintBorder(); Или для изменения границы использовать setBorder? Если у вас очень не традиционный border. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.01.2013, 19:46:08
|
|||
|---|---|---|---|
Несколько вопросов по поводу кастомизации компонентов Swing |
|||
|
#18+
kalexi1) Как верно изменять стиль компонентов Swing своего приложения: создавать свой набор наследуя Swing-компоненты или меняя Look and Leel? Можно попробовать создать свой стиль используя Look and Feel. Или взять готовый. Это ето конфигурабельно и концептуально для Swing. Пример готового стиля. http://www.randelshofer.ch/quaqua/ Там единственная трудность - обработать возможный exception в main и принять решение - можно ли работать если стиль не включился. +Желательно также протестировать всю графику. Бывает где-то выползает бок в виде потери возможности видеть едит-боксы или еще что-то в этом роде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2130193]: |
0ms |
get settings: |
14ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 288ms |
| total: | 426ms |

| 0 / 0 |
