Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 31.10.2010, 13:18   #1
Alexcomeback
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 59
Репутация: 10
По умолчанию Использование метода repaint() объекта класса JPanel

Возникла следующая проблема (возможно, из-за непонимания действия метода repaint()):
Имеется панель JPanel, по клику мыши на ней появляется элемент, состоящий из JLabel и JTextField (делаю подобие вершины графа), после создания двух таких элементов соединяю их линией (ребром графа) и всё было бы хорошо, вот только при создании очередного (например, третьего) элемента пропадает отрисованая линия. Подозрение пало на метод repaint(), который я использую после добавления лейбла и текстового поля на панель. Вопрос: как отображать добавленные элементы на панель, не используя при этом метод перерисовки?

Вообще, пробовал после каждого вызова репейнта делать примерно следующее:
Код:

public void repaintEdges() {
    for (Edge i : Edges) {
        i.paintEdge();
    }

То есть после перерисовки бегу по контейнеру, содержащему объекты класса Edge, и как бы заново отрисовываю линии методом
Код:

public void paintEdge() {
    Graphics g = Paint.panel.getGraphics();
    g.drawLine(xBegin, yBegin, xEnd, yEnd);
}

Однако проблема не решилась
Alexcomeback вне форума   Ответить с цитированием
Старый 31.10.2010, 14:12   #2
Alexcomeback
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 59
Репутация: 10
По умолчанию

В общем, проблему решил После добавления элемента на панель надо вызывать метод update() самой панели, в качестве аргумента - передать контекст панели (методом getGraphics()).
Alexcomeback вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача метода объекта. the_deer_one Общие вопросы C/C++ 8 09.09.2010 15:07
Передача метода класса в CreateThread mike_tihomirov Win Api 3 17.07.2010 14:13
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 01:54
Адрес метода класса? VintProg Общие вопросы Delphi 6 27.09.2009 13:10
COM-объекты в MS Script Control. Присвоение метода одного объекта другому объекту. Антон Ю.Б. Общие вопросы Delphi 1 04.04.2009 13:41


15:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru