![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
Как принудительно заставить перерисовать панель. К примеру, имеется код:
Хотелось бы что бы при изменении некоторых полей происходила перерисовка панели. Как это сделать? --------------------
http://python.com.ua |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Вызови у панели repaint().
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
Не подходит, т.к. фрейм у меня состоит из двух панелей. Одня для рисования, а другая - кнопочная панель. И при перерисовка производится в хаотическом порядке так что становится ничего не понятно.
--------------------
http://python.com.ua |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
При чем тут это? Для принудительной перерисовки компонента создан метод repaint(). И то, что у тебя запутанная логика в приложении, никак на этот факт не влияет. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
Хорошо, и как выйти из положения?
--------------------
http://python.com.ua |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Я не понимаю, в чем проблема. Почему нельзя просто вызвать repaint() когда одно из полей изменится?
Сделай поля приватными, а доступ к ним сделай через методы getXXX()/setXXX(), и в setXXX() методах вызывай repaint(). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
Я уже пробовал, все равно не перерисовывается. Единственным выходом вижу сделать фрейм не активным, а затем сразу же активным. Как это можно сделать? Дело в том что мое приложение считывает информацию из xml файла, который я выбираю после нажатия одного из пунктов в меню. После чего выбираю xml файл после которого идет перерисовка панели. Так же перерисовка происходит при сворачивании окна с последующим разворачиванием.
--------------------
http://python.com.ua |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Или выкладывай свой код, или пример демонстрирующий ошибку. А иначе это сеанс телепатии через интернет, получается.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
--------------------
http://python.com.ua |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
У меня вообще картинка не меняется, даже после сворачивания/разворачивания окна. Что там вообще надо делать?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
ввести в поле Ox и Oy смещение(пока что это работает) и затем нажать кнопку Ok. Картинка должна(по идее) переместиться.
--------------------
http://python.com.ua |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Вообще нифига не меняется. Не пойму в чем дело.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| hamsterKSU |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: нет Всего: 11 |
там все ясно, ты в классе IdeFrame создается один экземпляр класса IdePanel а в классе ButtonPanel другой того же типа, тот что в классе IdeFrame добавлен на панель, а тот что в ButtonPanel не добавлен только лишь может изменить статические переменные, и когда ты ему делаешь repaint то он перерисовывается но гдето в памяти т.к. на панель добавлен совсем другой экземпляр класа.
Мое решение
и в обработчике ОК
и добавил в прорисовку несколько Ide Panel строк
вот у меня заработало но я досих пор не пойму зачем в классе IdePanel все переменные сделаны статиком это не есть хорошо, имхо они будутдля всез экземпляров одинаковы, если ты загрузишь несколько рисунков - то будут траблы большие Добавлено @ 01:08 если хочешь могу выслать исправленый вариант |
||||||
|
|||||||
| alafin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 12.4.2006 Репутация: нет Всего: 2 |
hamsterKSU, спасибо, если можешь вышли, плз.
--------------------
http://python.com.ua |
|||
|
||||
| hamsterKSU |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: нет Всего: 11 |
при наследовании какогото класcа, особенно из GUI, надобно вызывать в конструкторе конструктор суперклаcса
|
|||
|
||||
![]()
|
| Правила форума "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. |