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

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

01.05.2011, 18:25. Показов 36152. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можете написать несколько строк кода, которые реагируют на нажатие клавиш? Напишу на русском, т.к. не совсем понимаю:
public void keyPressed{
если нажали на кнопку "вверх" переменная х=1;
если нажали на кнопку "вниз" переменная х=-1;
если нажали на кнопку "вправо" переменная у=1;
если нажали на кнопку "влево" переменная у=-1;
}
Помогите пожалуйста реализовать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2011, 18:25
Ответы с готовыми решениями:

Обработка клавиатуры
Вот код . import java.awt.*; import java.awt.event.*; import java.applet.*; /* <applet...

Обработка событий клавиатуры
Доброе время суток. Столкнулся с проблемкой - никак не могу считать данные с клавиатуры. ЗЫ...

Не так работает обработка событий клавиатуры
Вот пример кода:package wolfface.test; import java.awt.event.KeyAdapter; import...

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

14
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
01.05.2011, 20:46 2
Лучший ответ Сообщение было отмечено Kukstyler как решение

Решение

определяй по коду источника события:
Java
1
2
3
4
5
addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                formKeyPressed(evt);
            }
        });
Тут уже проверя какая клавиша нажата
Java
1
2
3
4
5
6
7
8
9
10
11
12
private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
        switch (evt.getKeyCode()) {
 
            case KeyEvent.VK_BACK_SPACE:
                break;
 
            case KeyEvent.VK_ENTER: //Нажата клавиша Enter
                break;
 
            default:
        }
    }
2
54 / 42 / 7
Регистрация: 08.04.2011
Сообщений: 227
01.05.2011, 21:41  [ТС] 3
ммм тролли покушайте пока. Я идиот наверное, но всё-же.
Как мне вклеить это сюда: чтобы при нажатии на клавишу квадрат передвигался.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.awt.*;
import java.awt.event.*;
class Gamemain extends Frame{
    Gamemain(String s){
        super(s);
    }
public void paint(Graphics g){
    g.setFont(new Font("Serif",Font.ITALIC|Font.BOLD,30));
    g.drawRect(50,100,50,50);
    }
    public static void main(String[]args){
        Frame f=new Gamemain("blocks");
        f.setSize(400,150);
        f.setVisible(true);
        f.addWindowListener(new WindowAdapter(){
            @Override
            public void windowClosing(WindowEvent ev){
                System.exit(0);
            }
        });
    }
    }
Или же создать отдельный класс отвечающий за это? В любом случае, извините за некоторую наглость, сделайте мне класс пожалуйста.
0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
01.05.2011, 22:21 4
Лучший ответ Сообщение было отмечено Kukstyler как решение

Решение

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
public class MyFrame extends JFrame {
 
    public MyFrame(String Cap) {
        super(Cap);
        setSize(new Dimension(500, 500));
        setVisible(true);
 
        addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent evt) {
                switch (evt.getKeyChar()) {
                    case 'w':
                        y -= 1;
                        DrawRect();
                        break;
                    case 's':
                        y += 1;
                        DrawRect();
                        break;
                    case 'a':
                        x -= 1;
                        DrawRect();
                        break;
                    case 'd':
                        x += 1;
                        DrawRect();
                        break;
                }
            }
        });
    }
 
    @Override
    public void paint(Graphics g){
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(Color.BLACK);
        g.drawRect(x, y, 100, 100);
    }
 
    public void DrawRect() {
        this.repaint();
        this.getGraphics().drawRect(x, y, 100, 100);
    }
    private int x, y;
}
Добавлено через 1 минуту
Цитата Сообщение от FanAs Посмотреть сообщение
ммм тролли покушайте пока
Что вы хотели этим сказать?

Добавлено через 2 минуты
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
public class MyFrame extends JFrame {
 
    public MyFrame(String Cap) {
        super(Cap);
        setSize(new Dimension(500, 500));
        setVisible(true);
 
        addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent evt) {
                switch (evt.getKeyCode()) {
                    case KeyEvent.VK_UP:
                        y -= 1;
                        DrawRect();
                        break;
                    case KeyEvent.VK_DOWN:
                        y += 1;
                        DrawRect();
                        break;
                    case KeyEvent.VK_LEFT:
                        x -= 1;
                        DrawRect();
                        break;
                    case KeyEvent.VK_RIGHT:
                        x += 1;
                        DrawRect();
                        break;
                }
            }
        });
    }
 
    @Override
    public void paint(Graphics g){
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, getWidth(), getHeight());
        g.setColor(Color.BLACK);
        g.drawRect(x, y, 100, 100);
    }
 
    public void DrawRect() {
        this.repaint();
        this.getGraphics().drawRect(x, y, 100, 100);
    }
    private int x, y;
}
1
54 / 42 / 7
Регистрация: 08.04.2011
Сообщений: 227
01.05.2011, 22:27  [ТС] 5
Да то что обычно часто бывают люди которым лишь бы поржать. Спасибо огромное!
0
ManGeorge
27.07.2012, 13:59 6
парень тетрис пишет)))
54 / 42 / 7
Регистрация: 08.04.2011
Сообщений: 227
27.07.2012, 18:41  [ТС] 7
Иди-ка отсюда, некропостер. Тогда я просто изучал как та или иная вещь реализуется в Java. Прошло больше года. А ваша шутка полна оригинальности, не сомневайтесь.
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 5
11.06.2017, 20:23 8
Прошло еще 6 лет а шутка еще смешит
0
0 / 0 / 2
Регистрация: 09.12.2014
Сообщений: 21
19.10.2017, 17:14 9
Не то что бы сильно, видно за 5 лет понятие юмора слегка изменилось.
0
1 / 1 / 0
Регистрация: 07.03.2019
Сообщений: 26
22.06.2019, 11:15 10
Вообще не смешно. Видимо за 7 лет понятие юмора слегка изменилосью
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
22.06.2019, 13:26 11
Увидимся ещё через два года
0
0 / 0 / 2
Регистрация: 09.12.2014
Сообщений: 21
22.06.2019, 14:32 12
Да ну что вы)
0
0 / 0 / 0
Регистрация: 05.04.2020
Сообщений: 6
12.04.2020, 23:53 13
ниче себе 9 лет прошло
0
0 / 0 / 2
Регистрация: 09.12.2014
Сообщений: 21
13.04.2020, 03:36 14
Тетрис хоть дописали?
0
0 / 0 / 0
Регистрация: 09.01.2015
Сообщений: 39
18.05.2020, 11:49 15
А может кто-то подскажет, как нажать на левый\правый шифт?
или выполнить проверку, какой из шифтов был нажат.
0
18.05.2020, 11:49
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2020, 11:49
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru