我遇到如下情况:带有多个选项卡的GUI。每个选项卡都显示我的主目录中特定目录中的文件内容。其中一些目录存在于GUI创建时,其他目录不存在。在通过FTP选项卡之一中,我得到一些文件并将其添加到主目录。将新文件添加到目录时更新JTabbedPane
注:我使用的是Java 5的
如何让每个标签知道FTP又增加了一个新的文件属于此选项卡的目录?
public class ScannerPanel extends JPanel implements ChangeListener {
private void initGUI() {
setPreferredSize(new Dimension(700, 400));
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab("FTP", IconLib.ICON_16X16_DATA,new FtpTabPanel (this),"FTP");
tabbedPane.addTab("PCS", IconLib.ICON_16X16_THUM,new PcsTabPanel (this),"PCS");
tabbedPane.addTab("Car", IconLib.ICON_16X16_PAPE,new CarTabPanel (this),"Car");
tabbedPane.addTab("Pic", IconLib.ICON_16X16_RETI,new PicTabPanel (this),"Pic");
tabbedPane.addChangeListener(this);
add(tabbedPane);
}
public void stateChanged(ChangeEvent e) {
//detect new file has been added to directory
// update the content of tab
}
}
由于您需要Java 6,因此可能是[WatchService for Java 6]的副本(http://stackoverflow.com/questions/7968488/watchservice-for-java-6)。 – trashgod