GUI. Проблема с перемещением картинки - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 26.12.2012, 09:05   #1
Аватар для coldy

Автор темы (Топик Стартер) GUI. Проблема с перемещением картинки

Занялся написанием программы с GUI впервые, поэтому возникла проблема. Просьба наставить на путь истинный или помочь советом, ибо застрял.

Делается все в IDEA с помощью UI Designer. GUI Form - FormLayout (JGoodies).

Для наглядности прилагаю картинку:



Задача: переместить картинку стрелки под шкалой, в зависимости от входных данных, полученных с COM порта.

Картинки реализованы в JLabel через указание icon.
Нижний текст - JLabel с указанием проперти text.

Перемещение картинки реализуемся через
Код:
mainForm.getImageBottomArrow().setLocation( (int) calcBottomArrowX(degree), defY );
     

int defY = mainForm.getImageBottomArrow().getY();

/*
        Переводит значение градусов с компаса в значение координаты Х, в которое нужно установить картинку.
     */
    private double calcBottomArrowX(int degree) {}
Проблема: если после перемещения картинки стрелки обновить другой JLabel, например текст под шкалой через mainForm.getTextInfo().setText(str); , то после обновления дрпугого JLabel изображение стрелки возвращается в исходное положение (т.е. в центр шкалы).
"Скачки" возникают при обновлении любого другого компонента. Например изменение картинки в другом JLabel.


Перемещение картинки работает по таймеру. В результате получается, что картинка смещается, но потом снова прыгает в центр.



Гуглом пользовался. Да, информация по перемещению картинки есть, но реализация для меня не совсем понятна, поэтому просьба подсказать.
Код изначально не прилагаю, т.к. он больше похож на мусор с 100500 комментариев и с большим количеством закомментированных строк, т.к. пробую различные варианты реализации, но пока без толку.

Добавлено через 13 часов 12 минут
актуально. нужна хелпа, ибо сделать нужно в ближайшее время

Последний раз редактировалось coldy; 26.12.2012 в 22:17. Причина: Добавлено сообщение
coldy вне форума Ответить с цитированием
Непрочитано 28.12.2012, 07:54   #2
Аватар для coldy

Автор темы (Топик Стартер) Re: GUI. Проблема с перемещением картинки

Путем проб и ошибок выяснилось, что "скачек" в дефолтное положение происходит после revalidate();
При этом все будет прекрасно работать, если сделать setLayout(null), но при этом, понятное дело, толку от лэаута и размещения по сетке не будет, поэтому метод топорный.

Пока единственным вариантом для смещения картинки вижу Insets.
coldy вне форума Ответить с цитированием
Непрочитано 28.12.2012, 10:19   #3
Аватар для VISTALL
Illussion is real

По умолчанию Re: GUI. Проблема с перемещением картинки

а не пробывал типо

mainForm.getImageBottomArrow().setLocation( (int) calcBottomArrowX(degree), defY );
mainForm.getImageBottomArrow().revalidate();

mainForm.getTextInfo().setText(str);
mainForm.getTextInfo().revalidate();
__________________
consulo.io - Consulo - multi-language IDE
VISTALL вне форума Ответить с цитированием
Непрочитано 28.12.2012, 12:54   #4
Аватар для Ro_0TT
Супергерой

По умолчанию Re: GUI. Проблема с перемещением картинки

Как вариант JavaFX использовать в нем и красивее получится и проще в использовании.
__________________
Ищу работу: Java-разработчик Skype: ro_0tt
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Непрочитано 28.12.2012, 22:27   #5
Аватар для coldy

Автор темы (Топик Стартер) Re: GUI. Проблема с перемещением картинки

Цитата:
Сообщение от Ro_0TT Посмотреть сообщение
Как вариант JavaFX использовать в нем и красивее получится и проще в использовании.
Надо будет ознакомиться. Просто сроки поджимают, поэтому не хочется все переписывать.

Цитата:
Сообщение от VISTALL Посмотреть сообщение
а не пробывал типо

mainForm.getImageBottomArrow().setLocation( (int) calcBottomArrowX(degree), defY );
mainForm.getImageBottomArrow().revalidate();

mainForm.getTextInfo().setText(str);
mainForm.getTextInfo().revalidate();
Пробовал. Картинка вернется в дефолтное положение уже после.

mainForm.getImageBottomArrow().setLocation( (int)calcBottomArrowX(degree), defY );
mainForm.getImageBottomArrow().revalidate();

по сути картинка возвращается в исходное положение после revalidate любого элемента на панели.
coldy вне форума Ответить с цитированием
Непрочитано 28.12.2012, 23:44   #6
Аватар для VISTALL
Illussion is real

По умолчанию Re: GUI. Проблема с перемещением картинки

Цитата:
Сообщение от coldy Посмотреть сообщение
Надо будет ознакомиться. Просто сроки поджимают, поэтому не хочется все переписывать.



Пробовал. Картинка вернется в дефолтное положение уже после.

mainForm.getImageBottomArrow().setLocation( (int)calcBottomArrowX(degree), defY );
mainForm.getImageBottomArrow().revalidate();

по сути картинка возвращается в исходное положение после revalidate любого элемента на панели.
стоп - вы забыли , про слои , он не даст переместится.

поюзайте JSlider вроде так
__________________
consulo.io - Consulo - multi-language IDE
VISTALL вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 29.12.2012, 10:27   #7
Аватар для [STIGMATED]
Супергерой

По умолчанию Re: GUI. Проблема с перемещением картинки

Цитата:
Сообщение от coldy Посмотреть сообщение
Надо будет ознакомиться. Просто сроки поджимают, поэтому не хочется все переписывать.

Отпишите по контактам в профиле, помогу с javafx, быстрее будет.
[STIGMATED] вне форума Отправить сообщение для [STIGMATED] с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с регистрацией в DB. Dmitry Lineage II 3 17.10.2010 10:04
Проблема с l2phonix 20716 ingremy Lineage II 10 22.09.2010 21:39
Проблема с spawn NPC StarWolf Lineage II 3 10.07.2010 00:24
Проблема с GS Registering Tool! maskit Lineage II 2 12.07.2009 22:56
Проблема с командами GMa Qvada Lineage II 1 09.02.2009 09:38


© 2007–2022 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 02:36. Часовой пояс GMT +3.

Вверх