Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.09.2018
Сообщений: 74

Добавить объект Треугольник или многоугольник в Jframe

01.05.2020, 14:24. Показов 739. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как добавить объект Треугольник или многоугольник в Jframe
И можно ли его повернуть(объект который был создан) на определенный градус?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.company;
 
import javax.swing.SwingUtilities;
import javax.swing.JFrame;
 
public class MovingSquare {
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frm = new JFrame("Движения это жизнь");
                frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frm.add(new PaintPanel());
                frm.pack();
                frm.setVisible(true);
                frm.setResizable(false);
            }
        });
    }
}
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
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.company;
 
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
 
public class PaintPanel extends JPanel {
    public static final int PANEL_WIDTH = 600;
    public static final int PANEL_HEIGHT = 400;
    public static final int SQUARE_SIZE = 20;
    public static final int SINGLE_STEP = 10;
    public static final int MEGA_STEP = 10;
    public static final Color PANEL_COLOR = Color.WHITE;
    public static final Color SQUARE_COLOR = Color.BLACK;
 
    private int xPos = 0;
    private int yPos = 0;
 
    public PaintPanel() { // keyboard
        super();
 
        this.setOpaque(true);
        this.setBackground(PANEL_COLOR);
        this.setFocusable(true);
        this.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent ke) {
                switch ( ke.getKeyCode() ) {
                    case KeyEvent.VK_W :
                    case KeyEvent.VK_UP :
                        yPos -= ( ke.isShiftDown() ) ? MEGA_STEP : SINGLE_STEP;
                        if ( yPos < 0 )
                            yPos = 0;
                        repaint();
                        break;
                    case KeyEvent.VK_A :
                    case KeyEvent.VK_LEFT :
                        xPos -= ( ke.isShiftDown() ) ? MEGA_STEP : SINGLE_STEP;
                        if ( xPos < 0 )
                            xPos = 0;
                        repaint();
                        break;
                    case KeyEvent.VK_S :
                    case KeyEvent.VK_DOWN :
                        yPos += ( ke.isShiftDown() ) ? MEGA_STEP : SINGLE_STEP;
                        if ( ( yPos + SQUARE_SIZE ) > PANEL_HEIGHT )
                            yPos = PANEL_HEIGHT - SQUARE_SIZE;
                        repaint();
                        break;
                    case KeyEvent.VK_D :
                    case KeyEvent.VK_RIGHT :
                        xPos += ( ke.isShiftDown() ) ? MEGA_STEP : SINGLE_STEP;
                        if ( ( xPos + SQUARE_SIZE ) > PANEL_WIDTH )
                            xPos = PANEL_WIDTH - SQUARE_SIZE;
                        repaint();
                        break;
                }
            }
        });
    }
 
    @Override
    public Dimension getPreferredSize()
    {
        return new Dimension(PANEL_WIDTH, PANEL_HEIGHT);
    }
 
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(SQUARE_COLOR);
        g.fillRect(xPos, yPos, SQUARE_SIZE, SQUARE_SIZE);
        }
 
    @Override
    public void  hey(Graphics a) {
 
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.05.2020, 14:24
Ответы с готовыми решениями:

Как добавить объект в JFrame?
В классе DurakGameStart у меня реализовано окно (JFrame): public class DurakGameStart extends JFrame там же есть контейнер: ...

Добавить треугольник и многоугольник и сделать выбор штриховки в графическом редакторе
Как добавить сюда же треугольник и многоугольник(например 6 углов)? И сделать отдельно чтобы можно было выбрать штриховку фигур. using...

Проходил ли кто-то видео-курс techpro? Как у них получилось JFrame в JFrame добавить
Проходил ли кто-то видео-курс techpro? Как у них получилось JFrame в JFrame добавить? http://teachpro.ru/Course/JavaforBeginners...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2020, 14:24
Помогаю со студенческими работами здесь

Возможно-ли объект класса JFrame сделать модальным?
Скажите, возможно-ли объект класса JFrame сделать модальным, и если да то как? PS: порылся, - нашел что java.awt.Dialog можно сделать...

Нарисовать многоугольник: Ссылка на объект не указывает на экземпляр объекта
Все казалось бы очень просто , но я никак не пойму как исправить ошибку , я и не очень понимаю в чем именно ошибка . Вроде все делаю как в...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня , так как учусь работать с указателями)...

Добавить JLable в JFrame
package touch; import javax.swing.JFrame; public class Main extends JFrame{ private static Main main; public...

Какой цикл или что вообще можно добавить сюда чтобы выводило полностью треугольник паскаля, а не последнюю его строку
#include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { int A; int n, i, j, N; N = n; cout &lt;&lt; &quot;Vvesti...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru