Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
 Аватар для Lendon
34 / 34 / 10
Регистрация: 11.05.2010
Сообщений: 110

paintComponent()

25.06.2010, 14:24. Показов 4037. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем пишу сейчас прототип тенниса тетрисного. У меня сейчас есть стенка и мячик. Мячик бегает по панели и отталкивается от стенок панели либо от стенки. Все нормально работает. Проблема в следующем: после n-го повтора цикла движений и перерисовок панели панель начинает мигать, т.е. все обьекты(стена и мячик) начинают мерцать, как будто метод paintComponent вызывается с задержками.
Код цикла движений :
Java
1
2
3
4
5
6
7
8
9
10
11
12
                while(true){
                    wall.move(panel.getBounds());
                    ball.move(panel.getBounds());
                    manager.checkCollision();
                    panel.paint(panel.getGraphics());
                        try {
                            Thread.sleep(10);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                }
Код прорисовки панели:
Java
1
2
3
4
5
6
7
8
public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
            g2.fill(wall.getShape());
        for(Ball ball:balls) {
            g2.fill(ball.getShape());
        }
    }
Кто знает как решить проблему ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2010, 14:24
Ответы с готовыми решениями:

Paintcomponent multithreading
Значит разбираюсь сейчас с paintComponent(), и возникла нужда в визуализировании одного процесса, а для этого нужно вынести рисовку в...

Не переопределяется метод paintComponent
Добрый день, не дает переопределить метод. в чем может быть дело, подскажите. import javax.swing.*; import java.awt.*; public...

SWING. Не выполняется paintComponent
Задача: создать GUI, в котором можно выбрать картинку и вывести ее в окно. (и дальше работать с ней попиксельно, но это уже другая история)...

4
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
25.06.2010, 14:29
А можете весь проект прицепить? Интересно посмотреть.
0
 Аватар для Lendon
34 / 34 / 10
Регистрация: 11.05.2010
Сообщений: 110
25.06.2010, 15:54  [ТС]
Проект во вложениях. Там правда отскоки еще плохо проработаны.
Вложения
Тип файла: rar concurrency.rar (2.8 Кб, 118 просмотров)
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
25.06.2010, 16:05
ща посмотрим

Добавлено через 8 минут
Сколько ни смотрел, мерцать не начало. У меня нормально отображается.
0
 Аватар для Lendon
34 / 34 / 10
Регистрация: 11.05.2010
Сообщений: 110
25.06.2010, 17:25  [ТС]
А, да, когда запускать через java то не мигает действительно.

Добавлено через 24 секунды
Но движения я не знаю как поправить пока что. Может не правильный подход использую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2010, 17:25
Помогаю со студенческими работами здесь

PaintComponent некорректно работает
Добрый день, пытаюсь продолжить свою игру. Отрисовываю элементы paintComponent, два элемента отрисовывает, а один элемент нет, т.е ракетку...

Принцип работы метода paintComponent()
Здравствуйте. Необходимо, чтобы в форме отображался оранжевый квадрат и две кнопки. Я делаю это так. ...

Создание. paintComponent. Ничего не происходит
Я создаю ,все как написано в книге Head First Java. Через метод paintComponent рисуется прямоугольник. Но при запуске ничего не происходит...

Перерисовка через метод paintComponent()
На frame нужно рисовать круги там, где была нажата мышка. Круги рисуются, все нормально, но нужно реализовать, что при нажатии на...

void is an invalid type for variable paintComponent
import javax.swing.*; import javax.swing.JFrame; import javax.swing.JPanel; import javax.imageio.*; import java.io.*; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru