![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| zyu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.10.2009 Репутация: нет Всего: нет |
Меня интересует как создать оконное приложение на Java без использования стандартных компонентных классов javax.swing.JComponent и java.awt.Component. То есть программа должна напоминать классический пример создания окна на Win32 API под Windows.
|
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Берите JNA или JNI и вызывайте нативные функции Win API. Только, боюсь, радости вам этот подход не доставит. Если хотите использовать "окна на Win32 API", то лучше выберите язык, который в качестве toolkit использует этот самый WinAPI. Java для данной задачи определенно не подходит. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| zyu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.10.2009 Репутация: нет Всего: нет |
jk1, вы малость меня не до поняли. После создания мною некоторого ряда визуальных компонент основанных на JComponent мне захотелось разобраться в основе основ их построения используя как раз предлагаемый toolkit Sun Microsystems. Другими словами хочу разобраться как построить своё окно или свою визуальную компоненту с нуля - не наследуясь от awt.Component.
Большая часть программеров используют уже готовые обёртки не понимая их внутренней реализации - именно этот пробел в своих знания я хочу заполнить. |
|||
|
||||
| Skynin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 1.7.2007 Где: Харьков Репутация: нет Всего: 10 |
Это потому что если глубоко копать по каждому поводу - когда программировать то? Для представления же о внутренней реализации AWT и поверх него Swing'а - достаточно чтения документации и книг. Вот когда что-то непонятно, или непонятно почему оно делает не то что хочется, или когда хочется что-то эдакое, то:
... очень просто - правой кнопкой открываете в IDE на JComponent - "Goto source". А там - дальше, и дальше, до package java.awt; public abstract class Component Если JDK правильный и настроен конечно Правда, на каком-то этапе столкнетесь с модификатором native Тогда все - исходники JVM и JNA или JNI |
||||
|
|||||
| zyu |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 24.10.2009 Репутация: нет Всего: нет |
А если без всяких разговоров о насущном....
Просто покажите пример визуальной компоненты не наследованной от awt.Component, разработанной с нуля, с самыми простыми свойствами ширина, высота, позиция и обработка клика мыши. Я долго пытаюсь это сделать и ни как у меня не получается. И именно поэтому прошу помоши. Но надо говорить, что мне придётся разрабатывать свою GUI библиотеку или что подобную компоненту не смогу запихнуть в стандартные компоненты. Про это я прекрасно всё знаю и подобных целей не предусматриваю. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Для вас "нуль" почему-то Win API. Почему бы не пойти еще дальше? Есть же и другие операционные системы. |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 21 Всего: 75 |
Не все так просто, как вы думаете. Component занимается и фокусом и перерисовкой и еще много чем. Есть два пути использования собственных нестандартных компонент Swing-приложении: 1) Написать наследника Component и орагнично вписать его с существующую архитектуру 2) Написать нативный компонент с помощью того же WinAPI и внедрить его в Swing-приложение с помощью DJ Native Swing Ну а если вы напишете свое окно с нуля на WinAPI, то к Java этот эксперимент не будет иметь никакого отношения. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
![]()
|
| Правила форума "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. |