使用不同选项卡中的数据(更改)更新JTabbedPanes

时间:2015-01-11 23:32:53

标签: java swing jtabbedpane jcomponent

我的TabbedPane中有4个JPanel。单击一个面板后,我想使用其他面板中可能发生的数据更改来更新该JPanel上的视图。 我的方法

tabbedPane.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            Component selectedTab =tabbedPane.getSelectedComponent();
            if(selectedTab instanceof VSwitchEditor){
                VSwitchEditor a= (VSwitchEditor)selectedTab;
                a.update(); 
            }
        }
    });

虽然这有效,但我想知道是否有类似以下内容我可以做而不是写所有Tabs的块

tabbedPane.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            JPanel selectedTab =(JPanel)tabbedPane.getSelectedComponent();

                selectedTab.**someFunction()**; 

        }
    });

我尝试重写revalidate()和UpdateUI()但是在初始化(打开应用程序)时,我在面板中的JComponents上得到NullPointerException 所以我想知道是否有一个功能在JPanel / JComponent或(其他一些超级类)我可以覆盖以更新我的组件

P.S - 这是我的第一个问题,我试图使其尽可能清晰和准确

0 个答案:

没有答案