package B27;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Event;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.filechooser.FileFilter;
import org.jdesktop.jdic.desktop.Desktop;
import org.jdesktop.jdic.desktop.DesktopException;
@SuppressWarnings("serial")
/**
* 此类继承 JMenuBar类,实现了事件的监听。主要提供了菜单栏的实现以及每个菜单时间的监听。
*
*
*
*/
/**
* 2008-9-22
* 此类显示菜单栏
*/
public class MyMenuBar extends JMenuBar implements ActionListener {
JFrame frame;
private ShouCangJia shoucangjia = new ShouCangJia();
private static FileIO io = new FileIO();
private static final long serialVersionUID = 1L;
private Dimension screenSize = java.awt.Toolkit.getDefaultToolkit()
.getScreenSize(); // 屏幕大小
private HashMap<String,String> loveUrl = new HashMap<String,String>();
// 文件菜单:
JMenu jFileMenu = new JMenu(" 文件(F) ");
public static String dirPath;
JMenuItem jOpenItem = new JMenuItem("打开(O)");
JMenuItem jNewItem = new JMenuItem("新建窗口(N)");
JMenuItem jNewItm = new JMenuItem("新建选项卡(N)");
JMenuItem jOtherSaveItem = new JMenuItem("另存为(S)");
JMenuItem jPrintItem = new JMenuItem("打印(P)");
JMenuItem JCloseWindownItem = new JMenuItem("退出 alt+F4");
// 编辑菜单:
JMenu jEditMenu = new JMenu(" 编辑(E) ");
JMenuItem jCutItem = new JMenuItem("剪切");
JMenuItem jCopyItem = new JMenuItem("复制");
JMenuItem jPasteItem = new JMenuItem("粘贴");
JMenuItem jAllSelectItem = new JMenuItem("全选");
// 查看菜单:
JMenu jFindMenu = new JMenu(" 查看(L) ");
JMenuItem jFindSourseItem = new JMenuItem("查看源文件");
JMenuItem jStopItem = new JMenuItem("停止");
JMenuItem jRefreshItem = new JMenuItem("刷新");
JMenuItem jAllRefreshItem = new JMenuItem("全部关闭");
// 收藏夹菜单:
// 收藏夹菜单:
JMenu jWantMenu = new JMenu(" 收藏夹(S) ");
JMenuItem jWantItem = new JMenuItem("添加到收藏夹");
JMenuItem jCleanWantItem = new JMenuItem("整理收藏夹");
/*
* JMenu jWantMenu = new JMenu(" 收藏夹(S) "); JMenuItem jWantItem = new
* JMenuItem("添加到收藏夹"); JMenuItem jCleanWantItem = new JMenuItem("整理收藏夹");
*/
// 工具菜单:
JMenu jToolMenu = new JMenu(" 工具(T) ");
JMenu jSetPage = new JMenu("设置初始页面");
//JMenuItem jSetHomePage = new JMenuItem("设置主页");
JMenuItem jSetGamePage = new JMenuItem("设置游戏页面");
JMenuItem jSetMovePage = new JMenuItem("设置电影页面");
JMenuItem jSetWeatherPage = new JMenuItem("设置天气页面");
JMenu jTool = new JMenu("截图工具");
JMenuItem jJieTu = new JMenuItem("截屏");
JMenuItem jJIeTuPath = new JMenuItem("存储路径");
JMenu jsearch = new JMenu("选择搜索引擎");
JRadioButtonMenuItem baidu = new JRadioButtonMenuItem("百度 Baidu");
JRadioButtonMenuItem google = new JRadioButtonMenuItem("谷歌 Google");
JRadioButtonMenuItem gougou = new JRadioButtonMenuItem("狗狗搜索 Gougou");
JRadioButtonMenuItem youdao = new JRadioButtonMenuItem("有道搜 Youdao");
// jSetHomePage子项
// 帮助菜单:
JMenu jHelpMenu = new JMenu(" 帮助(H) ");
JMenuItem jHelpItem = new JMenuItem("帮助中心");
JFileChooser jFileChooser = new JFileChooser();
private BrowserImplements browser;
/**
*
*
* 此方法为构造方法browser为browserImplements 的实例;
*
* 以及菜单的生成。
* @param browser
*/
public MyMenuBar(BrowserImplements browser) {
if (shoucangjia.reade() != null) {
this.loveUrl = shoucangjia.reade();
}
dirPath=io.read("jietu");
try {
String searchName = io.read("likun");
if (searchName.equals("baidu")) {
baidu.setSelected(true);
} else if (searchName.equals("google")) {
google.setSelected(true);
} else if (searchName.equals("gougou")) {
gougou.setSelected(true);
} else if(searchName.equals("youdao")){
youdao.setSelected(true);
}else{
baidu.setSelected(true);
}
} catch (Exception e) {
baidu.setSelected(true);
}
this.browser = browser;
this.setFont(new Font("宋体", Font.ITALIC, 16));
this.add(jFileMenu);
this.add(jEditMenu);
this.add(jFindMenu);
this.add(jWantMenu);
this.add(jToolMenu);
this.add(jHelpMenu);
// 文件菜单中的Item:
jFileMenu.setMnemonic('F');
jFileMenu.add(jNewItem);
jFileMenu.add(jNewItm);
jFileMenu.add(jOpenItem);
jFileMenu.add(jOtherSaveItem);
jFileMenu.add(jPrintItem);
jFileMenu.add(JCloseWindownItem);
// 编辑菜单的Item
jEditMenu.setMnemonic('E');
jEditMenu.add(jCutItem);
jEditMenu.add(jCopyItem);
jEditMenu.add(jPasteItem);
jEditMenu.add(jAllSelectItem);
// 查看菜单的item
jFindMenu.setMnemonic('L');
jFindMenu.add(jFindSourseItem);
jFindMenu.add(jStopItem);
jFindMenu.add(jRefreshItem);
jFindMenu.add(jAllRefreshItem);
// 收藏夹菜单的Item
jWantMenu.setMnemonic('S');
jWantMenu.add(jWantItem);
jWantMenu.add(jCleanWantItem);
// 工具菜单的item
jToolMenu.setMnemonic('T');
jToolMenu.add(jTool);
jToolMenu.add(jsearch);
jTool.add(jJieTu);
jTool.add(jJIeTuPath);
jToolMenu.add(jSetPage);
//jSetPage.add(jSetHomePage);
jSetPage.add(jSetGamePage);
jSetPage.add(jSetMovePage);
jSetPage.add(jSetWeatherPage);
ButtonGroup bg = new ButtonGroup();
bg.add(baidu);
bg.add(google);
bg.add(gougou);
bg.add(youdao);
jsearch.add(baidu);
jsearch.add(google);
jsearch.add(gougou);
jsearch.add(youdao);
// 帮助菜单的item
jHelpMenu.setMnemonic('H');
jHelpMenu.add(jHelpItem);
baidu.addActionListener(this);
google.addActionListener(this);
gougou.addActionListener(this);
youdao.addActionListener(this);
jOpenItem.addActionListener(this);
jNewItem.addActionListener(this);
jNewItm.addActionListener(this);
jOtherSaveItem.addActionListener(this);
jPrintItem.addActionListener(this);
JCloseWindownItem.addActionListener(this);
jCutItem.addActionListener(this);
jCopyItem.addActionListener(this);
jPasteItem.addActionListener(this);
jAllSelectItem.addActionListener(this);
jFindSourseItem.addActionListener(this);
jStopItem.addActionListener(this);
jRefreshItem.addActionListener(this);
jAllRefreshItem.addActionListener(this);
//jSetHomePage.addActionListener(this);
jSetGamePage.addActionListener(this);
jSetMovePage.addActionListener(this);
jSetWeatherPage.addActionListener(this);
jHelpItem.addActionListener(this);
jJieTu.addActionListener(this);
jJIeTuPath.addActionListener(this);
jWantItem.addActionListener(this);
jCleanWantItem.addActionListener(this);
// 快捷键的设置
jNewItem.setMnemonic(KeyEvent.VK_N);
KeyStroke keynew = KeyStroke.getKeyStroke(KeyEvent.VK_N,
Event.CTRL_MASK);
jNewItem.setAccelerator(keynew);
jNewItm.setMnemonic(KeyEvent.VK_E);
KeyStroke keynewe = KeyStroke.getKeyStroke(KeyEvent.VK_E,
Event.CTRL_MASK);
jNewItm.setAccelerator(keynewe);
jOpenItem.setMnemonic(KeyEvent.VK_O);
KeyStroke keyopen = KeyStroke.getKeyStroke(KeyEvent.VK_O,
Event.CTRL_MASK);
jOpenItem.setAccelerator(keyopen);
jOtherSaveItem.setMnemonic(KeyEvent.VK_S);
KeyStroke keysave = KeyStroke.getKeyStroke(KeyEvent.VK_S,
Event.CTRL_MASK);
jOtherSaveItem.setAccelerator(keysave)
评论15