Форум программистов, компьютерный форум, киберфорум
Java: GUI, Графика
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 05.03.2020
Сообщений: 1
1

Обработка действий клавиатуры

11.12.2020, 15:06. Просмотров 1346. Ответов 0

Здравствуйте, есть окно в котором крутиться красная точка, нужно сделать так что бы при нажатии одной клавиши на клавиатуре скорость вращения красной точки уменьшалась, а при нажатии другой увеличивалась.

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 javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JFrame;
 
public class Main extends JComponent {
    private static double angle;
 
    public Main() {
        angle = 0;
        Timer timer = new Timer(30, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                angle += 0.05;
                repaint();
            }
 
        });
        timer.start();
    }
 
    @Override
 
    protected void paintComponent(Graphics g) {
        int width = getWidth();
        int height = getHeight();
        g.setColor(Color.lightGray);
        g.fillRect(0, 0, width, height);
 
        Graphics2D g2d = (Graphics2D) g;
 
        double x = 0.5 * width;
        double y = 0.5 * height;
        double r = 0.75 * Math.min(x, y);
 
        g2d.setColor(Color.red);
        x += r * Math.cos(angle);
        y += r * Math.sin(angle);
        r = Math.max(0.1 * r, 20);
        g2d.fill(circle(x, y, r));
 
 
 
    }
 
    private Shape circle(double x, double y, double r) {
        return new Ellipse2D.Double(x - r , y - r , 2 * r, 2 * r);
    }
 
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame("Point");
                frame.add(new Main());
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(400, 300);
                frame.setVisible(true);
 
            }
        });
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2020, 15:06
Ответы с готовыми решениями:

Обработка действий клавиатуры
Можете написать несколько строк кода, которые реагируют на нажатие клавиш? Напишу на русском, т.к....

Обработка действий
Вопрос следующий: имеются выпадающие списки. При выборе значений из этих списков, в отдельном...

Ввод цифр и действий с клавиатуры
Как сделать ввод цифр и действий (+,-,*,/) в калькулятор с клавиатуры, при этом действия при...

Замена действий клавиш клавиатуры
В созданном мною потоке пишу slp:=25; repeat while GetKeyState(hhotkey)<0 do begin ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2020, 15:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Обработка отсутствия действий пользователя
Добрый день! Программа представляет собой некоторый набор форм, пользователь переходит по ним...

windows worm(считывание действий с клавиатуры)
Хочу написать программу которая бы делала различные действия при нажатии на разные клавиши(т.е....

Обработка двух действий, разделенных таймером
При выполнении слота почему-то не выполняется первое условие. void...

Вводы математических действий с клавиатуры и вывод на экран
Ребят помогите пожалуйста,нужно написать программу :Ввод 4 математических действия с клавиатуры и...

Обработка ряда действий, каждое из которых может вызывать ошибку
Всем здрасте )))) Никак не получается написать код с обработчиком ошибки, помогите плиз: sub...

Обработка действий "батона". Не подсчитывает при клацанье на кнопку
Дана строка. Подсчитать количество содержащихся в ней прописных букв. _______ Не могу...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.