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

标签 java swing events jpanel jtabbedpane

我已经有了 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?

您可以将 ChangeListener 添加到 JTabbedPane。

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

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

关于java - 如何在切换相应选项卡时从 JTabbedPane 调用 JPanel 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54171474/

相关文章:

java - 使用 Java 图形 API 绘制图层

java - 需要 HTML 页面作为从一个应用程序到另一应用程序的响应

java - 鉴于已检查的错误不会在我的程序中抛出,这个未经检查的包装器是否可以接受

java - 如何从java中的selenium测试类获取url

java - Android 单元测试 - 测试返回 null 的方法

java - 通过单击 JPanel 移动未修饰的窗口

java - 如何在swing中制作图像查看器?

c++ - WxWidgets 自定义事件

events - 如何定义一个事件来更改具有不同事件的元素?

mysql - 当数据库更改时如何使用 Laravel 中的事件向管理员发送通知