![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Altar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2005 Репутация: нет Всего: нет |
Существует ли простой способ создавать свои визуальные компоненты(и на основе swing ), описывать свойства, события и т.д. Может есть редактор какой-нибудь?
А может есть также дружественный способ прорисовку делать? Это сообщение отредактировал(а) Altar - 16.7.2005, 10:52 |
|||
|
||||
| batigoal |
|
||||||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Собственно, наследуешь любой из компонентов, хоть сам JComponent. Вот тебе пример своего компонента на основе JPanel:
Обычно это делается с использованием технологии JavaBeans. Тогда потом можешь свой компонент даже в графический редактор интерфейса запихать.
Графические редакторы есть, но лучше ручками.
Не понял. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||||||
|
|||||||||
| Altar |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2005 Репутация: нет Всего: нет |
Можно подробнее(+ очень коротко о Java Beans) короче хочу свою я библиотеку сделать, но не особо представляю как изменить вид моего нового Button на основе старого.
Ручками всё хорошо, да всё же о каких редакторах реч? Это сообщение отредактировал(а) Altar - 16.7.2005, 11:28 |
||||
|
|||||
| batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Вообще говоря, JavaBeans описаны в любой фундаментальной книге по Java. (Например, у Ноутона и Шилдта - "Java 2. Full reference")
Идея заключается в том, что мы делаем компонент, то есть класс, который изолирован и самодостаточен. Его поля закапсулированы, и все взаимодействие осуществляется только через методы. Они могут быть как визуальными (то, что интересует тебя), так и невизуальными, то есть просто представлять из себя обычный объект. Есть еще Enterprise Java Beans, но это сооовсем другая степь. Я сейчас посмотрел в FAQ, и удивился, что там нет статьи по этому поводу. Я этим займусь, в двух словах тут не расскажешь.
Что ты имеешь в виду? Добавить картинку, помнять шрифт и т.д.?
Например, графические редакторы, встроенные в среды разработки (JBuilder, IDEA и так далее). Но это не очень хорошо - они обычно неудобны и, главное, зависимы от среды, т.е. непереносимы. Поэтому рекомендую обойтись ручным написанием, где это возможно. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
| Altar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2005 Репутация: нет Всего: нет |
Я хочу создать свою библиотеку на подобие swing, чтобы в ней были все стандартные компоненты, нужные мне. Не только кнопки, но и JList, JListbar (надеюсь понятно, а то по памяти пишу и не помню точные названия), JProgressbar и т.д. То есть, компоненты должны будут выглядеть так как нужно мне. Одно дело на C++Builder это делать, другое на незнакомой пока мне Java. Например я не знаю как нарисовать и описать собственный выпадающий список, который должен быть похож на виноградную лозу. Вот вроде всё подробно описал. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Altar
Угу. Понятно. Задачка интересная и хорошая, но непростая. Возможно, имеет смысл пойти по такому пути. В Java GUI существует такое понятие, как Look and Feel (L&F). Оно отвечает за стиль отображения уже существующих компонентов. Про это есть инфа тут: http://java.sun.com/docs/books/tutorial/ui.../misc/plaf.html Существуют уже готовые L&F, может, и попадется подходящая. А вообще, подробный рассказ про ручную прорисовку компонентов есть здесь: http://java.sun.com/docs/books/tutorial/ui...ting/index.html -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Altar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2005 Репутация: нет Всего: нет |
Ещё предстоит конечно разобраться (эх 11 лет убитых зря на английский) с этой статейкой, Кода в ней маловато что-то. Выходит что я могу сделать прорисовку, а затем добавить пару строчек в уже созданный код, и компоненты будут выглядеть уже по другому?
Я правильно понимаю? |
|||
|
||||
| batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Если говорить о варианте L&F, то да. Главное - найти или сделать этот L&F, а применить его - нет проблем.
Если идти по второму пути, то, как я понимаю, нужно переопределять метод
Это будет уже не пара строк.
Соооовсем не зря -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
| Altar |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2005 Репутация: нет Всего: нет |
Попробую я пожалуй 1 способ, возможно этого хватит. Эх... Тяжело октябрёнку
Спасибо! Это сообщение отредактировал(а) Altar - 17.7.2005, 10:53 |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Всегда пожалуйста. Приходи к нам еще, всегда рады новым людям и новым вопросам.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |