如何在切换相应选项卡时从 JTabbedPane 从 JPanel 调用函数?

How to call function from JPanel from JTabbedPane on switching corresponding tab?

我有 JTabbedPane tb 并在其中添加了 5 个 JPanel,如下面的代码所示。这 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.
    });

How can I call that function whenever I switch to corresponding tab?

您可以向 JTabbedPane 添加 ChangeListener

每次选择新标签页时都会产生一个事件。然后您可以获取当前选项卡上的面板并为该面板调用 refreshTable() 方法。

您可以阅读有关 How to Write a ChangeListener 的 Swing 教程部分,以获取有关侦听器如何工作的简单示例。