Невозможно добавить ключевой слушатель к номеру сдвига для моего приложения сдвига номера с помощью кнопки на свинговой Java - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь написать код для приложения для смены номера, используя Swing GUI в Яве. однако, я застрял при переключении числа с одной кнопки на другую используя клавиши со стрелками. Стрелки не отвечают. Java-код для смены номера через кнопки с помощью клавиши со стрелкой. неудачно. ключи не отвечают. В настоящее время я сделал с генерацией случайных чисел всякий раз, когда кнопка запуска нажат. Тем не менее, я хочу использовать клавиши со стрелками для навигации по кнопки для смещения чисел соответственно.

Я довольно новичок в этом, но я не могу использовать интерфейс keylistener для получения желаемого результата. Ошибок нет, ключ не отвечает

frame.addKeyListener(new KeyAdapter() 
    {
        @Override
        public void keyPressed(KeyEvent e) {

            int j = 0;
            int temp;
            int i = 0;
            int k = 0;
            boolean zeroFound = false;
            int code = e.getKeyCode();

            if (code == KeyEvent.VK_RIGHT) 
            {
                for (i = 0; i < 4; i++) 
                {
                    for (j = 0; j < 4; j++) 
                    {
                        if (arr[i][j] == 0) 
                        {
                            zeroFound = true;
                            break;
                        }
                    }
                    if (zeroFound == true) 
                    {
                        break;
                    }
                }

                if (j == 0) 
                {
                    JOptionPane.showMessageDialog(null, "Please enter valid arrow key:)");
                }
                else
                {
                    temp = arr[i][j];
                    arr[i][j] = arr[i][j-1];
                    arr[i][j-1] = temp;

                    for (int a = 0; i < 4; a++) 
                    {
                        for (int b = 0; j < 4; b++) 
                        {                       
                            JButton button[] = {button1, button2, button3,button4,button5,button6,
                                    button7, button8,button9,button10,button11,button12, button13,
                                    button14, button15, button16};  

                            if (arr[i][j] !=0) 
                                {

                                    int n = arr[i][j];                              
                                    button[k].setText(String.valueOf(n));
                                    k++;

                                }
                                else {
                                    button[k].setText(" ");
                                }

                        }
                    }


                }
            }
        }

    }); 
...