| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Создание своих GUI компонентов |
| Автор: Altar 16.7.2005, 10:51 |
| Существует ли простой способ создавать свои визуальные компоненты(и на основе swing ), описывать свойства, события и т.д. Может есть редактор какой-нибудь? А может есть также дружественный способ прорисовку делать? |
| Автор: batigoal 16.7.2005, 10:58 | ||||||||
Собственно, наследуешь любой из компонентов, хоть сам JComponent. Вот тебе пример своего компонента на основе JPanel:
Обычно это делается с использованием технологии JavaBeans. Тогда потом можешь свой компонент даже в графический редактор интерфейса запихать.
Графические редакторы есть, но лучше ручками.
Не понял. |
| Автор: Altar 16.7.2005, 11:22 | ||||
Можно подробнее(+ очень коротко о Java Beans) короче хочу свою я библиотеку сделать, но не особо представляю как изменить вид моего нового Button на основе старого.
Ручками всё хорошо, да всё же о каких редакторах реч? |
| Автор: batigoal 16.7.2005, 11:43 | ||||
| Вообще говоря, JavaBeans описаны в любой фундаментальной книге по Java. (Например, у Ноутона и Шилдта - "Java 2. Full reference") Идея заключается в том, что мы делаем компонент, то есть класс, который изолирован и самодостаточен. Его поля закапсулированы, и все взаимодействие осуществляется только через методы. Они могут быть как визуальными (то, что интересует тебя), так и невизуальными, то есть просто представлять из себя обычный объект. Есть еще Enterprise Java Beans, но это сооовсем другая степь. Я сейчас посмотрел в FAQ, и удивился, что там нет статьи по этому поводу. Я этим займусь, в двух словах тут не расскажешь.
Что ты имеешь в виду? Добавить картинку, помнять шрифт и т.д.?
Например, графические редакторы, встроенные в среды разработки (JBuilder, IDEA и так далее). Но это не очень хорошо - они обычно неудобны и, главное, зависимы от среды, т.е. непереносимы. Поэтому рекомендую обойтись ручным написанием, где это возможно. |
| Автор: Altar 16.7.2005, 12:00 | ||
Я хочу создать свою библиотеку на подобие swing, чтобы в ней были все стандартные компоненты, нужные мне. Не только кнопки, но и JList, JListbar (надеюсь понятно, а то по памяти пишу и не помню точные названия), JProgressbar и т.д. То есть, компоненты должны будут выглядеть так как нужно мне. Одно дело на C++Builder это делать, другое на незнакомой пока мне Java. Например я не знаю как нарисовать и описать собственный выпадающий список, который должен быть похож на виноградную лозу. Вот вроде всё подробно описал. |
| Автор: batigoal 16.7.2005, 12:09 |
| Altar Угу. Понятно. Задачка интересная и хорошая, но непростая. Возможно, имеет смысл пойти по такому пути. В Java GUI существует такое понятие, как Look and Feel (L&F). Оно отвечает за стиль отображения уже существующих компонентов. Про это есть инфа тут: http://java.sun.com/docs/books/tutorial/uiswing/misc/plaf.html Существуют уже готовые L&F, может, и попадется подходящая. А вообще, подробный рассказ про ручную прорисовку компонентов есть здесь: http://java.sun.com/docs/books/tutorial/uiswing/14painting/index.html |
| Автор: Altar 17.7.2005, 10:22 |
| Ещё предстоит конечно разобраться (эх 11 лет убитых зря на английский) с этой статейкой, Кода в ней маловато что-то. Выходит что я могу сделать прорисовку, а затем добавить пару строчек в уже созданный код, и компоненты будут выглядеть уже по другому? Я правильно понимаю? |
| Автор: batigoal 17.7.2005, 10:32 | ||||
| Если говорить о варианте L&F, то да. Главное - найти или сделать этот L&F, а применить его - нет проблем. Если идти по второму пути, то, как я понимаю, нужно переопределять метод
Это будет уже не пара строк.
Соооовсем не зря |
| Автор: Altar 17.7.2005, 10:51 |
| Попробую я пожалуй 1 способ, возможно этого хватит. Эх... Тяжело октябрёнку Спасибо! |
| Автор: batigoal 17.7.2005, 10:58 |
| Всегда пожалуйста. Приходи к нам еще, всегда рады новым людям и новым вопросам. |