Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработчик событий / 5 сообщений из 5, страница 1 из 1
20.03.2014, 14:15
    #38591883
Idavinchi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработчик событий
Нужно чтобы при нажатии кнопки вверх “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 / 0
20.03.2014, 14:29
    #38591898
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработчик событий
sq1 это переменная а не объект.
Чтобы её было видно в анонимном классе (обработчик событий), нужно объявить её final.
Либо перейти на Java 8.
...
Рейтинг: 0 / 0
20.03.2014, 14:40
    #38591916
Idavinchi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработчик событий
Blazkowicz,
да спасибо помогло.
но данный объект при нажатии кнопки все равно не двигается.
можете подсказать как заставить его двигаться, или дать часть кода?
Буду очень благодарен.
...
Рейтинг: 0 / 0
20.03.2014, 14:56
    #38591938
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработчик событий
Idavinchi,

Код: java
1.
tPanel.setLayoutManager(null);
...
Рейтинг: 0 / 0
20.03.2014, 15:21
    #38591978
Idavinchi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработчик событий
Blazkowicz,
помогло
Код: java
1.
tPanel.setFocusable(true);



но спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработчик событий / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]