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

📄 ch7_e7_32.java

📁 代码包括《Java语言与面向对象程序设计题解与实验指导》一书中 “习题解答”部分的所有程序的Java源代码和编译后生成的字节码或相应的HTML文件。 盘中的目录与书中的章节一致。
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*; 
import java.util.*;


public class ch7_e7_32
{
    public static void main(String args[])
    {
        MySimpleTextEditor editor = new MySimpleTextEditor();
        editor.setSize(300,200);
        editor.setVisible(true);
        editor.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent we)  {
                System.exit(0);
            }
        });
    }
}


class MySimpleTextEditor extends Frame 
    implements ActionListener
{
    private MenuBar myBar = new MenuBar();
    private Menu fileMenu, editMenu, cutsMenu;
    private MenuItem cutItem, copyItem, pasteItem, selectAllItem;
    private MenuItem recentcutItem;
    private MenuItem quitItem, openItem, saveItem;
    private TextArea mainWorkWindow = new TextArea(10,15);
    private String placeHolder = " ";
    private Vector recentCuts = new Vector();
    
    public MySimpleTextEditor()
    {
        super("我的文本编辑器");
        setLayout(new BorderLayout());
        add("Center", mainWorkWindow);
        setMenuBar(myBar);
        initFileMenu();
        initEditMenu();
    }
    
    private void initEditMenu()
    {
        editMenu = new Menu("编辑");
        myBar.add(editMenu);
        cutItem = new MenuItem("剪切");
        cutItem.addActionListener(this);
        editMenu.add(cutItem);
        copyItem = new MenuItem("复制");
        copyItem.addActionListener(this);
        editMenu.add(copyItem);
        pasteItem = new MenuItem("粘贴");
        pasteItem.addActionListener(this);
        editMenu.add(pasteItem);
        editMenu.addSeparator();
        selectAllItem = new MenuItem("全选");
        selectAllItem.addActionListener(this);
        editMenu.add(selectAllItem);
        editMenu.addSeparator();
        cutsMenu = new Menu("剪贴簿");
        editMenu.add(cutsMenu);
    }
    
    private void initFileMenu()
    {
        fileMenu = new Menu("文件");
        myBar.add(fileMenu);
        openItem = new MenuItem("打开");
        openItem.addActionListener(this);
        openItem.setEnabled(false);
        fileMenu.add(openItem);
        saveItem = new MenuItem("保存");
        saveItem.addActionListener(this);
        saveItem.setEnabled(false);
        fileMenu.add(saveItem);
        fileMenu.addSeparator();
        quitItem = new MenuItem("退出");
        quitItem.addActionListener(this);
        fileMenu.add(quitItem);
    }
    
    public void actionPerformed(ActionEvent e)
    {
        if(!(e.getSource() instanceof MenuItem))
            return;
            
        MenuItem m = (MenuItem)e.getSource();
        if(m == quitItem)
        {
            dispose();
            System.exit(0);
        }
        else if (m == cutItem)
        {
            placeHolder = mainWorkWindow.getSelectedText();
            mainWorkWindow.replaceRange("",
                mainWorkWindow.getSelectionStart(),
                mainWorkWindow.getSelectionEnd());
            addRecentCut(placeHolder);
        }
        else if (m == copyItem)
        {
            placeHolder = mainWorkWindow.getSelectedText();
        }
        else if (m == pasteItem)
        {
            mainWorkWindow.insert(placeHolder,mainWorkWindow.getCaretPosition());
        }
        else if (m == selectAllItem)
        {
            mainWorkWindow.selectAll();
        }
/*        else
        {
            MenuItem item = (JMenuItem)e.getSource();
            scratchPad = item.getActionCommand();
        } */
    }
    
    private void addRecentCut(String cut)
    {
        recentCuts.insertElementAt(cut,0);
        cutsMenu.removeAll();
        for(int i=0; i<recentCuts.size(); i++)
        {
            MenuItem item = new MenuItem(
                (String)recentCuts.elementAt(i));
            cutsMenu.add(item);
            //item.addActionListener(this);
        }
    }
    
}

⌨️ 快捷键说明

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