Добавление слушателей в Netbeans

1

Мой вопрос очень прост: я пытаюсь добавить WindowListener и onClose Listener (или Listener в целом), но то, что я не знаю, как это сделать, - это добавить код в Netbeans 8.0.

У меня есть это сомнение, потому что Netbeans полностью создает JFrame сам и скрывает этот код. Я должен добавить Listener где-нибудь в этом специальном коде, созданном Netbeans или в Class Constructor, или в любом другом месте?

Теги:
netbeans
listener

1 ответ

1
Лучший ответ

Вы можете добавить много слушателей в JFrame, используя JFrame Properties → Events и Properties ( Bindings иногда могут помочь вам).

Если вы не получите то, что вам нужно, просто поместите свой код в конструктор или - если он много - сделайте закрытый метод, который вы вызываете в ctor.

В основном я предпочитаю частный метод, чем вкладывать все в ctor, но это действительно что-то по вашему выбору.

Пример:

public class Example extends javax.swing.JFrame
{
    public Example()
    {
        initComponents(); // This is generated by NB - do NOT remove!

        addListeners(); // add listeners here
    }


    /**
     * Adds listeners to the frame
     */ 
    private void addListeners()
    {
        // Add your listeners here as usual
        this.addWindowListener(new WindowListener()
        {
            @Override
            public void windowOpened(WindowEvent e)
            {
                /* ... */
            }

            /* Other methods of WindowListener ... */
        });
    }

    /* ... */
}

Только одно: добавьте слушателей после initComponents() - что сгенерированный метод witch инициализирует все компоненты, иначе некоторые компоненты могут быть не готовы.

  • 0
    Благодарю. У меня есть JFrame1, который открывает JFrame2 с помощью кнопки. Как сохранить JFrame1 Enabled (false) до тех пор, пока JFrame2 Visible?
  • 0
    Это, кажется, другой вопрос. Есть много способов, один из них Слушатели, но вы также можете использовать ссылку на JFrame1 . Btw. Возможно, диалог является лучшим решением здесь? Они могут быть установлены как модальные , что мне кажется решением для этого.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню