Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Java Navigator в Vaadin https://www.cyberforum.ru/ java-gui/ thread2232307.html
Всем привет! Помогите, пожалуйста решить проблему. В моей программе из навигации только одна строчка и несколько вьюшек: Navigator navigator = new Navigator(this, this); а уже выбрасывает "Trying to navigate to an unknown state '' and an error view provider not present"
Задача на Swing Java
Мне нужно написать программу, рисующую 12 фигур разного цвета с разными координатами. Тип фигуры (эллипс, прямоугольник, линия), цвет и расположение выбираются случайным образом. Всякий раз, когда вы изменяете размер фрейма, картинка меняется на новую. Линии должны быть толстенькие. Ограничение: Вызов метода g2.draw() в тексте программы написан только один раз. Массивы и прочие коллекции не...
Java При выборе пункта меню выводить сообщение в textbox и менять цвет формы https://www.cyberforum.ru/ java-gui/ thread2232197.html
Создать форму в которой:при выборе пункта меню выводилось сообщение в textbox и менялся цвет формы.
Java Java SE 1.8 (вылетает JFrame не показавшись на экран) https://www.cyberforum.ru/ java-gui/ thread2231489.html
Всем доброго времени суток , я учусь программированию и по этому много чего не знаю , по этому особо не серчайте . :) Для начала скажу что у меня установлена новая библиотека Java и eclipse в принципе настроен . У меня не работает JFrame так как надо , не показавшись на экран через секунду - полторы процесс останавливается , ошибок ни консоль ни сама проверка не выдаёт . уроки смотрел...
Java Сохранение при перезагрузке компьютера
Работаю с javafx, там есть метод stop. Но он не вызывается, если перезагрузить компьютер, только если нажать на крестик. Попробовал добавить shutdown hook, и он тоже не срабатывает при выключении компьютера. Как быть?
Java Как запретить изменение размера JButton? Как запретить изменение размера JButton при выводе на нее символов? Вот такая дичь получается, если на нажатие поставить вывод буквы "X", все кнопки смещаются. Используется GridBagLayout https://www.cyberforum.ru/ java-gui/ thread2230960.html
Java Не работает MouseListener https://www.cyberforum.ru/ java-gui/ thread2230939.html
Добрый день. Пытался написать крестики-нолики, но нажатие на кнопку не срабатывает, сам так и не понял, почему. import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import static java.awt.GridBagConstraints.*;
Обращение к компонентам Java
Здравствуйте, есть вопрос, скорее всего очень глупый но голову ломаю уже долго. У меня есть Кнопки, но не массив, а просто butt1, butt2, butt3 ... И есть функция которая возвращает целое число, я ловлю число и мне нужно обратится к нужной кнопке. К примеру функция дала число 7 я должен обратится к butt7. Конечно если бы это был массив то было все проще, а в ручную все прописывать очень...
Java Немогу разобраться в программе нужно пожалуйста чуть чуть дописать её! https://www.cyberforum.ru/ java-gui/ thread2229523.html
Уже вроде все написал.И должно работать!! Но не хочет рисовать незнаю почему, если кто нибудь исправит и все выше описанное заработает буду НУ ОЧЕНЬ БЛАГОДАРЕН. Немогу понять где я ошибся....На экран должны выводится некоторое количество кнопок с подсчетом процентной ставки. вот код: import java.awt.BorderLayout; import java.awt.Component; import java.awt.EventQueue; import java.awt.Font;...
Java Задача с добавлением JCheckBox-JTextField и вывода информации https://www.cyberforum.ru/ java-gui/ thread2228837.html
Создайте тестовую форму , позволяющую добавлять в панель на форме некоторое количество наборов пар JCheckBox-JTextField Количество ограничено размерами панели и компонентов. Реализуйте возможность выводить в отдельное окно или на консоль информацию , которая будет находиться в тех полях , которые имеют отмеченные JCheckBox. Добавлено через 8 часов 25 минут Пытался сделать но у меня мало что...
Java Эффект "Лупы"
Изучаю Java GUI от силы месяц и столкнулся с проблемой в области отрисовки фигур. Нужно сделать в задании эффект "Лупы" т.е. увеличения изображения (в данном случае круга) при попадании в лупу (в круг большего радиуса). Часть функционала работает, т.е. круг при попадании в лупу увеличивается, но: https://ibb.co/bt03cH как убрать контур, границу круга под цифрой 1 как добавить этот самый...
Java Классы JAVA https://www.cyberforum.ru/ java-gui/ thread2227207.html
Здравствуйте. У меня есть задание подключить к меню игру. Игра состоит из главного класса package igra; import javax.swing.*; public class upravl extends JFrame { public static void main (String arg) { JFrame frame = new JFrame("Image Viewer"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(1500,1080);
Эксперт функциональных языков программированияЭксперт Java
4537 / 2729 / 486
Регистрация: 28.04.2012
Сообщений: 8,618
21.04.2018, 19:33 0

Ошибка в отрисовке объекта - Java - Ответ 12327582

21.04.2018, 19:33. Показов 906. Ответов 16
Метки (Все метки)

Ответ

NukaWorld, вообще, кошмарный код, конечно. Почитай, например, “Clean Code” Robert C Martin.

Хотя бы как-то так:
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
import java.awt.*;
import java.util.Objects;
 
final class Cross {
 
    static Cross of(int leftX, int topY, int size, Color activeColor) {
        Objects.requireNonNull(activeColor);
        if (size < 0) {
            throw new IllegalArgumentException("Negative size");
        }
        return new Cross(leftX, topY, size, activeColor, null);
    }
 
    static Cross of(int leftX, int topY, int size, Color activeColor, Color inactiveColor) {
        Objects.requireNonNull(activeColor);
        Objects.requireNonNull(inactiveColor);
        if (size < 0) {
            throw new IllegalArgumentException("Negative size");
        }
        return new Cross(leftX, topY, size, activeColor, inactiveColor);
    }
 
    private final int leftX;
    private final int topY;
    private final int rightX;
    private final int bottomY;
    private final int size;
    private final Color activeColor;
    private final Color inactiveColor;
    private boolean active = false;
 
    private Cross(int leftX, int topY, int size, Color activeColor, Color inactiveColor) {
        this.leftX = leftX;
        this.topY = topY;
        this.size = size;
        this.rightX = leftX + Math.max(0, size - 1);
        this.bottomY = topY + Math.max(0, size - 1);
        this.activeColor = activeColor;
        this.inactiveColor = inactiveColor;
    }
 
    boolean containsPointInArea(int x, int y) {
        return x >= leftX && x <= rightX && y >= topY && y <= bottomY;
    }
 
    void activate() {
        this.active = true;
    }
 
    void draw(Graphics2D g) {
        if (size == 0) {
            return;
        }
        if (active) {
            draw(g, activeColor);
        } else if (inactiveColor != null) {
            draw(g, inactiveColor);
        }
    }
 
    private void draw(Graphics2D g, Color c) {
        g.setColor(c);
        g.drawLine(leftX,    topY, rightX, bottomY);
        g.drawLine(leftX, bottomY, rightX,    topY);
    }
}
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
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;
import java.util.function.Supplier;
 
final class PressingB extends MouseAdapter implements MouseListener {
 
    private final List<Cross> crosses;
    private final Supplier<Graphics2D> graphicsSupplier;
 
    PressingB(List<Cross> crosses, Supplier<Graphics2D> graphicsSupplier) {
        this.crosses = crosses;
        this.graphicsSupplier = graphicsSupplier;
    }
 
    @Override
    public void mouseClicked(MouseEvent e) {
        crosses.stream()
                .filter(cross -> cross.containsPointInArea(e.getX(), e.getY()))
                .forEach(Cross::activate);
        final var graphics = graphicsSupplier.get();
        if (graphics == null) {
            return;
        }
        crosses.forEach(cross -> cross.draw(graphics));
    }
}
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
import javax.swing.*;
import java.awt.*;
import java.util.List;
import java.util.ArrayList;
 
final class Game {
 
    public static void main(String[] args) {
        final var crosses = createCrosses(41, Color.RED);
        final var window = new JFrame("Game");
        final var listener = new PressingB(crosses, () -> (Graphics2D) window.getGraphics());
        window.addMouseListener(listener);
        window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        window.setMinimumSize(new Dimension(640, 480));
        window.pack();
        window.setVisible(true);
    }
 
    private static List<Cross> createCrosses(int size, Color color) {
        final var crosses = new ArrayList<Cross>();
        for (int i = 0; i < 2; i++) {
            final int topY = 80 + i*size;
            for (int j = 0; j < 3; j++) {
                final int leftX = 100 + j*size;
                crosses.add(Cross.of(leftX, topY, size, color, Color.GRAY));
            }
        }
        return crosses;
    }
}


Вернуться к обсуждению:
Ошибка в отрисовке объекта Java
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2018, 19:33
Готовые ответы и решения:

Мерцание при отрисовке объекта
Вечер добрый! Собственно, в моей программе при круговом движении эллипса наблюдается мерцание на...

Ошибка при отрисовке меню
Всем доброго дня (ну, или что у вас там за окошком :) )! Пробую создать сайт в...

Ошибка при отрисовке линии
Добрый день гении! Пытаюсь разобраться с QPainter, QPaintEvent для того, чтобы рисовать собственно...

GLES 2 ошибка при отрисовке квадрата
Здравствуйте! Никак не пойму, в чем ошибка... В openGL полный чайник и завис на первых же шагах....

16
21.04.2018, 19:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2018, 19:33
Помогаю со студенческими работами здесь

Где может быть ошибка в отрисовке?
Здраствуйте! Создаю пользовательский контрол. Событие отрисовки выглядит так: class...

Ошибка при отрисовке спектра частот
Здравствуйте, форумчане. Пишу плеер на Bass, при отрисовке спектра выдает 'Out of system...

Ошибка с ссылкой объекта не указывает на экземпляр объекта
Здраствуйте . Я тут пишу программу на морской бой и у меня как только пытаюсь узнать координат и...

Property объекта родителя и ошибка "Ссылка на объект не указывает на экземпляр объекта"
Доброе время суток! Что-то заклинило в верхнем отсеке тела! Понимаю, что это уже грабли...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru