package com.helper.doAction;

import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import com.helper.Swap.Swap;
import com.helper.frame.view.CompWindow;
import com.helper.frame.view.MusicWindow;
import com.helper.frame.view.NovelWindow;
import com.helper.frame.view.SearchWindow;
import com.helper.perPanel.PerWindow;
import com.helper.perPanel.ShowMessage;

/**
 * CtrolWindow和CompWindow的事件处理类
 * 
 * @author yangtao
 *
 */
public class MyAction implements ActionListener {
	public void actionPerformed(ActionEvent e) {
		String s = e.getActionCommand();
		if (s.equals("首页")) {
			indexAction();
		}
		if (s.equals("搜索")) {
			if (!Swap.isSearchAction && !Swap.windowMap.containsKey("sousuo")) {
				Swap.windowMap.put("sousuo", new SearchWindow());
				Swap.isSearchAction = true;
				Swap.isMusicWindowIsVisable = true;
			} else {
				Swap.windowMap.get("sousuo").setVisible(true);
				Swap.isSearchWindowIsVisable = true;
			}
		}
		if (Swap.webMap.containsKey(s)) {
			perWindowAction(s);
		}
		
		// 所有界面的最小化事件监听
		if (s.equals("music_zxh")) {
			Swap.isMusicAction = true;
			Swap.isMusicWindowIsVisable = false;
			Swap.windowMap.get("music").setVisible(false);
		}
		if (s.equals("novel_zxh")) {
			Swap.isNovelWindowAction = true;
			Swap.isNovelWindowAction = false;
			Swap.windowMap.get("novel").setVisible(false);
		}
		if (s.equals("index_zxh")) {
			Swap.isCompWindowVisable = false;
			Swap.isCompWindowAction = true;
			Swap.windowMap.get("compWindow").setVisible(false);
		}
		
		// 每个界面退出事件监听
		if (s.equals("novel_tuichu")) {
			Swap.isNovelWindowAction = false;
			Swap.isNovelWindowAction = false;
			Swap.synthesizer=null;//释放语音合成接口
			Swap.list=null;//清空内存中的小说文本
			Swap.novelLineTotel = 0;//清空总行数记录
			new NovelWindowClose();//重写记录文件
			Swap.novelParagraphTemp=0;//段落计数器归0
			((Window) Swap.windowMap.get("novel")).dispose();//释放小说界面
			Swap.windowMap.remove("novel");//移除存在map中的小说界面
		}
		if (s.equals("music_tuichu")) {
			Swap.isMusicWindowIsVisable = false;
			Swap.isMusicAction = false;
			((Window) Swap.windowMap.get("music")).dispose();
			Swap.windowMap.remove("music");
		}
		if (s.equals("index_tuichu")) {
			Swap.isCompWindowVisable = false;
			Swap.isCompWindowAction = false;
			((Window) Swap.windowMap.get("compWindow")).dispose();
			Swap.windowMap.remove("compWindow");
		}
		if (s.equals("exit")) {
			Swap.isSearchAction = false;
			Swap.isSearchWindowIsVisable = false;
			Swap.search = "baidu";
			((Window) Swap.windowMap.get("sousuo")).dispose();
			Swap.windowMap.remove("sousuo");
		}

		// 右下角关于子菜单监听
		if (s.equals("听书")) {
			if (!Swap.isNovelWindowAction && !Swap.windowMap.containsKey("novel")) {
				Swap.windowMap.put("novel", new NovelWindow());
				Swap.isNovelWindowAction = true;
				Swap.isNovelWindowIsVisiable = true;
			} else {
				Swap.windowMap.get("novel").setVisible(true);
				Swap.isNovelWindowIsVisiable = true;
			}
		}
		if (s.equals("音乐")) {
			if (!Swap.isMusicAction && !Swap.windowMap.containsKey("music")) {
				Swap.windowMap.put("music", new MusicWindow());
				Swap.isMusicAction = true;
				Swap.isMusicWindowIsVisable = true;
			} else {
				Swap.windowMap.get("music").setVisible(true);
				Swap.isMusicWindowIsVisable = true;
			}
		}
		if (s.equals("关于")) {
			new ShowMessage("版本:1.2\n作者:重庆工程学院软件工程系1300161班 杨淘\n声明:本软件只用作学习和交流!", "关于生活助手 ");
		}
		if (s.equals("最小化")) {
			Swap.windowMap.get("control").setVisible(false);
		}
		if (s.equals("关闭") || s.equals("退出")) {
			System.exit(0);
		}
	}

	// 设置集成窗口可见性
	private void compWindowShow() {
		Swap.isCompWindowAction = true;
		Swap.isCompWindowVisable = true;
	}

	// 激活集成窗口
	private void setCompWindowShow() {
		Swap.windowMap.get("compWindow").setVisible(true);
		Swap.isCompWindowVisable = true;
	}

	// control面板上 首页 按钮的事件处理
	private void indexAction() {
		if (Swap.isCompWindowVisable) {// 存在集成窗口,并且窗口可见,首页分页没有激活
			Swap.windowChangeAction.returnPanel(Swap.centerPanel, Swap.indexPanel);// 用效果添加首页分页
			compWindowShow();
		}
		if (Swap.windowMap.containsKey("compWindow") && !Swap.isCompWindowVisable) {// 存在窗口,但是不可以,首页分页已激活
			Swap.windowChangeAction.returnPanel(Swap.centerPanel, Swap.indexPanel);// 用效果添加首页分页
			compWindowShow();
			setCompWindowShow();
		}
		if (!Swap.isCompWindowVisable && !Swap.windowMap.containsKey("compWindow")) {// 不存在集成窗口,实例化集成窗口,并添加首页分页
			Swap.windowMap.put("compWindow", new CompWindow());// 实例化集成窗口,然后把集成的窗口放入窗口容器windowMap内
			Swap.windowChangeAction.returnPanel(Swap.centerPanel, Swap.indexPanel);// 用效果添加首页分页
			compWindowShow();
		}
	}

	// control面板上其他按钮的事件处理
	private void perWindowAction(String webKey) {
		if (Swap.isCompWindowVisable) {// 存在集成窗口,并且窗口可见, 首页分页没有激活
			Swap.windowChangeAction.xiaoGuo(Swap.centerPanel, new PerWindow(webKey));// 用效果添加首页分页
			compWindowShow();
		}
		if (Swap.windowMap.containsKey("compWindow") && !Swap.isCompWindowVisable) {// 存在窗口,但是不可以,首页分页已激活
			Swap.windowChangeAction.xiaoGuo(Swap.centerPanel, new PerWindow(webKey));// 用效果添加首页分页
			compWindowShow();
			setCompWindowShow();
		}
		if (!Swap.isCompWindowVisable && !Swap.windowMap.containsKey("compWindow")) {// 不存在集成窗口,实例化集成窗口,并添加首页分页
			Swap.windowMap.put("compWindow", new CompWindow());// 实例化集成窗口,然后把集成的窗口放入窗口容器windowMap内
			Swap.windowChangeAction.xiaoGuo(Swap.centerPanel, new PerWindow(webKey));// 用效果添加首页分页
			compWindowShow();
		}
	}
}
最近下载更多
Demo1111  LV30 6月30日
xp95323  LV15 2023年11月27日
微信网友_5852742079762432  LV6 2022年3月2日
wanglinddad  LV55 2022年2月11日
baoxing567  LV9 2021年3月30日
dengdai2018  LV6 2021年2月28日
675104182  LV14 2020年9月22日
yuqm  LV17 2020年8月3日
tinbe  LV11 2018年12月19日
jasyr1314  LV11 2018年10月20日
最近浏览更多
pengkui  LV14 2024年11月29日
微笑刺客  LV21 2024年11月22日
杨秀益  LV1 2024年6月17日
Dominick  LV14 2024年3月5日
xp95323  LV15 2023年11月27日
xingxing1234  LV10 2023年3月22日
Hsy605  LV9 2022年6月20日
1265260263  LV4 2022年4月8日
微信网友_5852742079762432  LV6 2022年2月28日
wanglinddad  LV55 2022年2月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友