package org.arong.egdownloader.ui.menuitem; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.ArrayList; import java.util.List; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import org.arong.egdownloader.ui.ComponentConst; import org.arong.egdownloader.ui.IconManager; import org.arong.egdownloader.ui.window.EgDownloaderWindow; import org.arong.egdownloader.ui.window.GroupWindow; import org.arong.egdownloader.ui.window.form.AddGroupDialog; /** * 新建/切换任务组菜单项 * @author dipoo * @since 2015-01-08 */ public class AddTaskGroupMenuItem extends JMenuItem { private static final long serialVersionUID = 2616082975789594278L; public static final int ADDACTION = 1; public static final int CHANGEACTION = 2; public AddTaskGroupMenuItem(String text, final EgDownloaderWindow window, final int action){ super(text); this.setIcon(IconManager.getIcon(action == ADDACTION ? "add" : "change")); this.setForeground(new Color(0,0,85)); this.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { EgDownloaderWindow mainWindow = window; if(action == ADDACTION){//新增 new AddGroupDialog(null, mainWindow); }else if(action == CHANGEACTION){//切换 File dataFile = new File(ComponentConst.ROOT_DATA_PATH); if(!dataFile.exists()){ dataFile.mkdirs(); JOptionPane.showMessageDialog(mainWindow, "不存在其他任务组"); }else{ File[] files = dataFile.listFiles(); List<File> groups = new ArrayList<File>(); for(File file : files){ if(file.isDirectory()){ groups.add(file); } } if(groups.size() > 0){ new GroupWindow(groups, mainWindow); }else{ JOptionPane.showMessageDialog(mainWindow, "不存在其他任务组"); } } } } }); } }