С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.03.2014
Сообщений: 4

Обработчик событий

20.03.2014, 14:11. Показов 1059. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно чтобы при нажатии кнопки вверх “VK_UP” созданный объект “sq1” двигался.
Но в обработчике данный объект не видно sq1.setLocation(sq1.getLocation().getX() + 30, 0);
Подскажите, пожалуйста, в чем причина, что я не так делаю, или как можно по-другому заставить объект sq1 двигаться.
Буду благодарен.
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
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
 
 
public class MyFrame extends JFrame{
 
    public MyFrame (){
        super("******");
        setBounds(250, 50, 306, 480);
 
        JPanel tPanel = new JPanel(null);
        tPanel.setBackground(Color.DARK_GRAY);
 
        Square sq1 = new Square();
 
        tPanel.addKeyListener(new KeyAdapter() {
 
            public void keyPressed(KeyEvent e) {
                super.keyPressed(e);
                if (e.getKeyCode() == KeyEvent.VK_UP){
                sq1.setLocation(sq1.getLocation().getX() + 30, 0);
                }
            }
 
        });
        tPanel.add(sq1);
 
        setContentPane(tPanel);
 
    }
    public class Square extends JLabel{
 
        public Square (){
            super(new ImageIcon("src\\image\\1.png"));
            setSize(30, 30);
            setLocation(30, 0);
        }
    }
 
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2014, 14:11
Ответы с готовыми решениями:

Обработчик событий
Есть 4 кнопки с названиями времен года, как описать обработчик событий, что бы при нажатии, на фреме менялась надпись, а над ней картинка,...

Массовый обработчик событий
Всем привет. Может кто ни будь знает как создать "Массовый обработчик событий", или что-то типа того или подскажет как еще решить...

Обработчик событий Button
С помощью этого класса необходимо получить код с текстового поля при нажатии на кнопку. Но при вызове строки sss из другого класса она...

4
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
20.03.2014, 14:15
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
 
 
public class MyFrame extends JFrame{
    Square sq1;
    public MyFrame (){
        super("******");
        setBounds(250, 50, 306, 480);
 
        JPanel tPanel = new JPanel(null);
        tPanel.setBackground(Color.DARK_GRAY);
 
      sq1 = new Square();
....
0
0 / 0 / 0
Регистрация: 05.03.2014
Сообщений: 4
20.03.2014, 14:20  [ТС]
Цитата Сообщение от Wado-Ru Посмотреть сообщение
sq1 = new Square();
....
Не понял что здесь не так?
можете подробней описать?
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
20.03.2014, 14:55
Лучший ответ Сообщение было отмечено Idavinchi как решение

Решение

Цитата Сообщение от Idavinchi Посмотреть сообщение
Не понял что здесь не так?
просто само объявление
Square sq1;
я убрал из конструктора и перенес его выше - в поле инициализации класса
тем самым обеспечил его видимость в обработчике

Добавлено через 30 минут
по-моему еще у Вас фокуса не хватает

Java
1
  tPanel.setFocusable(true);
и самого главного

Java
1
setVisible(true);
1
0 / 0 / 0
Регистрация: 05.03.2014
Сообщений: 4
20.03.2014, 15:01  [ТС]
Square sq1 = new Square();
поменял на
final Square sq1 = new Square();
так заработало.

setVisible(true);
у меня в методе main.

а за tPanel.setFocusable(true);
спасибо все заработало так как надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2014, 15:01
Помогаю со студенческими работами здесь

Не работает обработчик событий
Вот решил попробовать себя в джаве, и чет как-то не очень пошло :( сделал дебаг метод actionPerformed вообще не вызывается. ...

Обработчик событий нажатий на клавиши
import javax.swing.*; import java.awt.*; import java.awt.event.*; // Класс окна, в котором размещено игровое поле class okno...

Перестаёт работать обработчик событий
Есть JFrame на который прикрепляется JInternalFrame. JInternalFrame становится видимым при нажатии клавиши tab, но обработчик событий...

Как в цикл вставить обработчик событий?
Здравствуйте, у меня проект с элементами swing, и есть блок, который выполняет длительные расчёты с циклами for. Когда запускается расчёт,...

Обязательно ли обработчик событий выносить в отдельный класс?
Обязательно ли обработчик событий выносить в отдельный класс?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru