Двойное нажатие на кнопку J - PullRequest
0 голосов
/ 07 февраля 2019

Я новичок в программировании GUI, и я работаю над проектом с кнопкой другого типа.

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

        changecontrastB.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {


                // calls the contrast adjuster function 
                ContrastAdjuster mycontrast= new ContrastAdjuster();
                // running that function which brings that frame forward
                mycontrast.run("Brightness/Contrast...");

                mycontrast.setVisible(true);

                if (changecontrastB.isSelected() && mycontrast.isVisible()==false )
                {
                    changecontrastB.setEnabled(false);
                    mycontrast.setVisible(true);

                }
            }
        });

changecontrastB - это мой фактический J-образный ключ.

1 Ответ

0 голосов
/ 08 февраля 2019

Выполните следующие действия:

  1. В классе с кнопкой создайте переменную-член типа JFrame:

    JFrame frame = null;

  2. В слушателе действий, вызываемом с кнопки, включите if, как это (вам нужно адаптировать его к именам ваших классов):

    if (frame = null) frame = new MyFrame ();// Также могут потребоваться другие инициализации.else frame.toFront ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...