我的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 - 这是我的第一个问题,我试图使其尽可能清晰和准确