![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Собсно столкнулся с проблемой... Надо реализовать возможность перетаскивать окно за любую его часть.. а точнее за JLabel с картинкой, который стоит на бэкграунде...
Вроде бы, все несложно реализовать.... но не знаю, как получить координаты курсора относительно экрана, а не компонента... ![]() ![]() Добавлено через 7 минут и 8 секунд Сейчас это сделано вот так
Но окно перерисовывается довольно медленно и если двигать с нормальной скоростью, то курсор выходит за пределы окна.... В общем, не фиксируется на одной точке, при перетаскивании окна... |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
Используй для определения сдвига предыдущую и текущую позицию курсора мышки: MouseEvent.getLocationOnScreen().
Если предыдущей нет, то просто запоминаешь текущую, как предыдущую и выходишь. Если есть - рисуешь окно и заменяешь предыдущую позицию текущей. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Не наблюдаю такого метода у MouseEvent-a
![]() Есть у компонента... возвращает его положение относительно экрана...
Это сообщение отредактировал(а) snaker - 18.4.2007, 01:12 |
|||
|
||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 6 Всего: 31 |
Я писал для JDK6. В предыдущих наличие метода не проверял. В принципе, разницы особой нет и вполне можно использовать метод получения координат относительно компонента - относительное перемещение в любом случае будет присутствовать.
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Вот из-за этого нужны абсолютные координаты... |
|||
|
||||
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Ну неужели нельзя получить коордынаты курсора на экране???
![]() ![]() Очень нужен ваш хэлп ![]() |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
В JDK 6 абсолютную позицию курсора можно получить из обработчика "мышиного" события. Например:
|
|||
|
||||
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Спасибо... Похоже придется-таки ставить 6-й JDK
З.Ы. Но это ведь не будет работать если jdk 1.5 стоИт? а надо бы :( |
|||
|
||||
fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 15 Всего: 27 |
Не спасет отца русской демократии? -------------------- ![]() |
|||
|
||||
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
не-а :(
потому как опять же определяется относительно компонента, который не перерисовался еще ))) вот такая хитрая хренька ![]() Надо именно на манеторе! ![]() Хотя.. в принципе.. попробовать можно.. но резальтат, думаю, будет тот же ![]() Всем спасибо за участие ![]() ![]() |
|||
|
||||
fixxer |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 15 Всего: 27 |
Вот. Намыл в Swing Hacks
-------------------- ![]() |
||||||||||
|
|||||||||||
snaker |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 13.4.2007 Репутация: 1 Всего: 1 |
Great thnx!!! работает гууут!
![]() ![]() ![]() Поставил бы плюсик, но постов не хватает! ![]() |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Поставим от твоего имени ![]() -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |