⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menubar.java

📁 这是《Java图形用户界面设计与实例》一书配套的源代码
💻 JAVA
字号:
// MenuBar.java//Menu bar for the program to hold optionsimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class MenuBar extends JMenuBar implements ActionListener, ItemListener{    private JMenu jmFile = new JMenu("文件");//Menus    private JMenu jmBookmarks = new JMenu("标签");    private JMenu jmHelp = new JMenu("帮助");    private JMenuItem jmiExit = new JMenuItem("退出");//Items    private JMenuItem jmiAbout = new JMenuItem("帮助");    private JMenuItem jmiAddBookmark = new JMenuItem("加入标签");    private JCheckBoxMenuItem jmiRemoveBookmark = new JCheckBoxMenuItem("移除标签");    private boolean bRemove = false;    private BrowserFrame bfRef;    private BookmarkList bl = new BookmarkList();    public MenuBar() {        this(new BrowserFrame());    }    public MenuBar(BrowserFrame bf) {//Frame上加人对象与Listener        bfRef = bf;        jmFile.add(jmiExit);//Add Items        jmHelp.add(jmiAbout);        jmBookmarks.add(jmiAddBookmark);        jmBookmarks.add(jmiRemoveBookmark);        jmBookmarks.addSeparator();        add(jmFile);        add(jmBookmarks);        add(jmHelp);                jmiExit.addActionListener(this); //Add listeners so the items        jmiAbout.addActionListener(this);        jmiAddBookmark.addActionListener(this);        jmiRemoveBookmark.addItemListener(this);        addBookmarks();    }    public void addBookmarks() {//将bookmarked的网页加入bookmark的item行列        for(int x = 0; x < bl.getSize(); x++) {            JMenuItem jmiBM = new JMenuItem(bl.returnURL(x));            jmBookmarks.add(jmiBM);            jmiBM.addActionListener(this);        }    }    public void actionPerformed(ActionEvent e) {//响应Menu动作        if (e.getSource() == jmiExit)            System.exit(0);        else if (e.getSource() == jmiAbout)            new PopupDialog("Help?", "Help? 自己动手,丰衣足食!!^_^");        else if (e.getSource() == jmiAddBookmark) {            bl.add(bfRef.getCurrentURL());            addBookmarkItem(bfRef.getCurrentURL());        }        else {                if (!bRemove)                bfRef.setCurrentURL(e.getActionCommand());            else {                jmBookmarks.remove((JMenuItem) e.getSource());                try {                    bl.remove(e.getActionCommand());                }                catch(Exception ex) {                    new PopupDialog("错误", "移除标签出错!");                }            }        }    }        public void itemStateChanged(ItemEvent e) {        if(e.getSource() == jmiRemoveBookmark)            bRemove = !bRemove;    }    public void addBookmarkItem(String s) {        JMenuItem newItem = new JMenuItem(s);        newItem.addActionListener(this);        jmBookmarks.add(newItem);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -