Как вызвать функцию из JPanel из JTabbedPane при переключении соответствующей вкладки? - PullRequest
0 голосов
/ 13 января 2019

У меня есть JTabbedPane tb, и я добавил в него 5 JPanels, как показано в коде ниже. Эти 5 панелей являются отдельными классами Java, помещенными в один пакет. Каждый из этих классов имеет функцию с именем refreshTable () . Как я могу вызвать эту функцию всякий раз, когда я переключаюсь на соответствующую вкладку?

        JTabbedPane tb=new JTabbedPane();
        tb.add("विक्री",new ReportPanel());
        tb.add("बिल",new BillPanel());
        tb.add("ग्राहक",new CustomerPanel());
        tb.add("वर्तमानपत्र/मासिक",new ProductPanel());
        tb.add("सेटींग्स",new Settings());

        tb.addChangeListener((ChangeEvent e) -> {  
            // Here I want to call function refreshTable() from switched JPanel Class.
    });

1 Ответ

0 голосов
/ 13 января 2019

Как я могу вызвать эту функцию всякий раз, когда я переключаюсь на соответствующую вкладку?

Вы можете добавить ChangeListener к JTabbedPane.

Событие будет генерироваться каждый раз при выборе новой вкладки. Затем вы можете получить панель на текущей вкладке и вызвать метод refreshTable() для этой панели.

Вы можете прочитать раздел из учебника по Swing на Как написать ChangeListener для простого примера того, как работает слушатель.

...