Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 14.01.2018
Сообщений: 102
1

Метод paintComponent() вызывается несколько раз

13.10.2018, 21:45. Показов 1425. Ответов 1

Author24 — интернет-сервис помощи студентам
Три раза подряд вызывается метод paintComponent()

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class Frame extends JFrame implements ActionListener {
    private JPanel mainPanel;
    private JButton generate;
    private JPanel panelForPaint;
    private int count = 9;
    private MyCircle circle;
 
    public Frame(){
        setContentPane(mainPanel);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(1100,1100);
        setVisible(true);
        build();
    }
 
    public void build(){
        try {
            circle = new MyCircle();
            circle.set(10, 10, 60, 60);
            circle.setBounds(10, 10, getWidth(), 200);
            panelForPaint.add(circle);
        }catch (NullPointerException e) {//обработка исключение, потому что выбрасывается исключение при добавлении circle на панель, не знаю почему
           panelForPaint.revalidate();
           panelForPaint.repaint();
        }
 
    }
}
 
 
import javax.swing.*;
import java.awt.*;
 
public class MyCircle extends JPanel {
 
    private int x, y, w,h, n=9;
    private Generate gen;
    public MyCircle(){
        gen = new Generate();
 
    }
 
    public void set(int x1,int y1, int a1, int b1){
        x = x1;
        y = y1;
        w = a1;
        h = b1;
    }
 
 
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setFont(new Font(Font.SERIF, 14, 20));
 
        System.out.print("\nF");
        for(int i =0; i<n; i++) {
            g.drawOval(x + w * 3 / 2 * i, y, w, h);
            g.drawString(String.valueOf(gen.generate()), x+w/3+w*3/2*i, y+h/2);
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2018, 21:45
Ответы с готовыми решениями:

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

Не вызывается метод
Метод public static Zapchasti add(Zapchasti zap) не работает, выдает ошибку. Подскажите пожалуйста...

Почему не вызывается метод?
Есть класс с прорисовкой меню. Так же есть класс с прорисовкой JFrame. В классе с фреймом хочу...

Static-метод не вызывается из пакета
Вот класс: import algorithm.sort.AnotherA; class A { public static void main(String args) {...

1
115 / 100 / 52
Регистрация: 14.09.2011
Сообщений: 694
Записей в блоге: 1
14.10.2018, 18:37 2
Лучший ответ Сообщение было отмечено stupid_man как решение

Решение

это норма, я не думаю что вам создаст это проблему(в плане производительности)
1
14.10.2018, 18:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2018, 18:37
Помогаю со студенческими работами здесь

Функция вызывается несколько раз
Всем привет, имеется код: function showEdit(param) // Функция для отображения редактируемого...

Функция вызывается несколько раз
Есть код anti-CSRF: &lt;?php class Security { public function __construct() { $this-&gt;log =...

Ajax.ActionLink срабатывает(вызывается) несколько раз подряд
Всем привет! Такая проблема. Есть Ajax хелпер: @Ajax.ActionLink(&quot;Remove from friends&quot;,...

HTTP request. Почему data вызывается несколько раз?
Часть кода const http = require('https'); let reqOptions = { host:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru