亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? minieditor.java

?? 用java編寫的微型筆記本程序
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*
 * 文件名: MiniEditor.java
 * 說  明: MiniEditor主類,實現主要功能
 */

// 導入AWT包
import java.awt.*;
import java.awt.event.*;
// 導入IO包
import java.io.*;
// 導入SWING包
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.undo.*;

// 主類MiniEditor

public class MiniEditor extends JFrame
                        implements ActionListener,
                                   CaretListener,
                                   DocumentListener,
                                   KeyListener {

// 菜單項目聲明

  JMenuItem menuFileNew, menuFileOpen, menuFileClose,
            menuFileSave, menuFileSaveAs,
            menuFilePrint, menuFilePrintSetup,
            menuFileExit,
            menuEditUndo, menuEditRedo,
            menuEditCut, menuEditCopy, menuEditPaste,
            menuEditDeleteSelection, menuEditDeleteLine, menuEditDeleteWord,
            menuEditFind, menuEditReplace, menuEditGoTo, menuEditSelectAll,
            menuViewFont, menuViewColor,
            menuViewDoubleSpace,
            menuHelpAbout;
 
  // 選項菜單聲明
  JCheckBoxMenuItem menuViewClassic, menuViewStatus, menuViewWordWrap;
  // 可打印TextArea聲明
  PrintableTextArea ta;
  TextField tfs, tfro, tfrn;
  // 狀態欄標簽聲明
  Label fileStatus, statusRow, statusCol, statusMode, statusSize;
  // 彈出對話框按鈕聲明
  Button bs, brf, brr, brra;
  // 子Frame和JDialog實例聲明
  JFrame fr;
  JDialog dl;
  // 其他組件聲明
  String fns;
  
  Color defaultForeground, defaultBackground, defaultCaretColor;
  Font defaultFont = new Font("Courier", Font.PLAIN,12);
  Checkbox dsLoop, dsMatchCase, drMatchCase;
  JLabel dsMessage2;

  // UndoManager聲明
  protected UndoManager undo = new UndoManager();
  protected UndoableEditListener undoHandler = new UndoHandler();

  // 狀態標記
  static int foundCount = 0;
  int FindStartPos = 0;
  boolean findingLoop = true;
  boolean beginTextListener, isNewFile;
  boolean INSERTMODE = true;
  boolean BACKSPACE = false;
  
  // 入口方法
  public static void main(String[] args){
    try {
	  // 選取不同LookAndFeel
      //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
      //UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    } catch(Exception e) {
    }
	// 設定Locale
    //Locale.setDefault(Locale.CHINA);
    //Locale.setDefault(new Locale("zh", "CN"));
    MiniEditor me = new MiniEditor();
    me.windowLayout();
  }
  
  // 窗體布局方法
  public void windowLayout(){
	// 對窗體進行布局操作
	// 添加組件到窗體并進行合理布局
    JFrame fr = new JFrame("MiniEditor v1.0");
    fr.getContentPane().setLayout(new BorderLayout(5, 5));
    JPanel p = new JPanel();
    fileStatus = new Label("File Status:                                  ");
    statusRow = new Label("Row:        ");
    statusCol = new Label("Col:        ");
    statusMode = new Label("Mode:                 ");
    statusSize = new Label("Size:               ");
    ta = new PrintableTextArea(20, 50);
    ta.setCursor(new Cursor(Cursor.HAND_CURSOR));
    ta.setFont(defaultFont);
    defaultForeground = ta.getForeground();
    defaultBackground = ta.getBackground();
    defaultCaretColor = ta.getCaretColor();
    ta.setWrapStyleWord(true);
    ta.getDocument().addDocumentListener(this);
    ta.addCaretListener(this);
    ta.addKeyListener(this);
    ta.getDocument().addUndoableEditListener(undoHandler);
    JScrollPane scroller = new JScrollPane();
    JViewport port = scroller.getViewport();
    port.add(ta);
    fr.getContentPane().add("Center",scroller);
    fr.getContentPane().add("South",p);
    p.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
    p.add(fileStatus);
    p.add(statusRow);
    p.add(statusCol);
    p.add(statusMode);
    p.add(statusSize);

    JMenuBar mb = new JMenuBar();

    JMenu menuFile = new JMenu("File", true);
    //menuFile.setMnemonic('F');

    menuFileNew = new JMenuItem("New", 'N');
    menuFileNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
    menuFileNew.addActionListener(this);

    menuFileOpen = new JMenuItem("Open...", 'O');
    menuFileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));
    menuFileOpen.addActionListener(this);

    menuFileClose = new JMenuItem("Close", 'C');
    menuFileClose.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, InputEvent.CTRL_MASK));
    menuFileClose.addActionListener(this);

    menuFileSave = new JMenuItem("Save", 'S');
    menuFileSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));
    menuFileSave.addActionListener(this);


    menuFileSaveAs = new JMenuItem("Save As...", 'A');
    menuFileSaveAs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F12, 0));
    menuFileSaveAs.addActionListener(this);


    menuFilePrint = new JMenuItem("Print", 'P');
    menuFilePrint.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_MASK));
    menuFilePrint.addActionListener(this);
    //menuFilePrint.setEnabled(false);

    //menuFilePrintSetup = new JMenuItem("Print Setup...");
    //menuFilePrintSetup.addActionListener(this);
    //menuFilePrintSetup.setMnemonic('u');
    //menuFilePrintSetup.setEnabled(false);

    menuFileExit = new JMenuItem("Exit", 'x');
    menuFileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK));
    menuFileExit.addActionListener(this);

    JMenu menuEdit = new JMenu("Edit", true);

    menuEditUndo = new JMenuItem("Undo");
    menuEditUndo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK));
    menuEditUndo.addActionListener(this);
    menuEditUndo.setEnabled(false);

    //menuEditRedo = new JMenuItem("Redo");
    //menuEditRedo.addActionListener(this);
    //menuEditRedo.setEnabled(false);

    menuEditCut = new JMenuItem("Cut", 't');
    menuEditCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK));
    menuEditCut.addActionListener(this);

    menuEditCopy = new JMenuItem("Copy", 'C');
    menuEditCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));
    menuEditCopy.addActionListener(this);

    menuEditPaste = new JMenuItem("Paste", 'P');
    menuEditPaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));
    menuEditPaste.addActionListener(this);

    JMenu menuEditDelete = new JMenu("Delete");
    menuEditDelete.setMnemonic('D');

    menuEditDeleteSelection = new JMenuItem("Selection", 'S');
    menuEditDeleteSelection.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
    menuEditDeleteSelection.addActionListener(this);

    menuEditDeleteLine = new JMenuItem("Line", 'L');
    menuEditDeleteLine.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, InputEvent.CTRL_MASK));
    menuEditDeleteLine.addActionListener(this);

    menuEditDeleteWord = new JMenuItem("Word", 'W');
    menuEditDeleteWord.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK));
    menuEditDeleteWord.addActionListener(this);

    menuEditFind = new JMenuItem("Find...", 'F');
    menuEditFind.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK));
    menuEditFind.addActionListener(this);

    menuEditReplace = new JMenuItem("Replace...", 'R');
    menuEditReplace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, InputEvent.CTRL_MASK));
    menuEditReplace.addActionListener(this);
    //menuEditReplace.setEnabled(false);

    menuEditGoTo = new JMenuItem("Go To...", 'G');
    menuEditGoTo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, InputEvent.CTRL_MASK));
    menuEditGoTo.addActionListener(this);

    menuEditSelectAll = new JMenuItem("Select All", 'A');
    menuEditSelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
    menuEditSelectAll.addActionListener(this);

    JMenu menuView = new JMenu("View", true);

    menuViewFont = new JMenuItem("Font...", 'F');
    menuViewFont.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK + InputEvent.ALT_MASK));
    menuViewFont.addActionListener(this);

    menuViewColor = new JMenuItem("Color...", 'C');
    menuViewColor.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK + InputEvent.ALT_MASK));
    menuViewColor.addActionListener(this);

    menuViewClassic = new JCheckBoxMenuItem("Classic");
    menuViewClassic.setMnemonic('l');
    menuViewClassic.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK + InputEvent.ALT_MASK));
    menuViewClassic.setState(false);
    menuViewClassic.addActionListener(this);

    menuViewStatus = new JCheckBoxMenuItem("Status");
    menuViewStatus.setMnemonic('S');
    menuViewStatus.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK + InputEvent.ALT_MASK));
    menuViewStatus.setState(true);
    menuViewStatus.addActionListener(this);

    menuViewWordWrap = new JCheckBoxMenuItem("Word  Wrap");
    menuViewWordWrap.setMnemonic('W');
    menuViewWordWrap.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_MASK + InputEvent.ALT_MASK));
    menuViewWordWrap.setState(false);
    menuViewWordWrap.addActionListener(this);

    menuViewDoubleSpace = new JMenuItem("Double  Space", 'D');
    menuViewDoubleSpace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK + InputEvent.ALT_MASK));
    menuViewDoubleSpace.addActionListener(this);

    JMenu menuHelp = new JMenu("Help", true);

    menuHelpAbout = new JMenuItem("About", 'A');
    menuHelpAbout.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
    menuHelpAbout.addActionListener(this);
	
	// 添加菜單
    fr.setJMenuBar(mb);
    mb.add(menuFile);
    menuFile.add(menuFileNew);
    menuFile.add(menuFileOpen);
    menuFile.add(menuFileClose);
    menuFile.addSeparator();
    menuFile.add(menuFileSave);
    menuFile.add(menuFileSaveAs);
    menuFile.addSeparator();
    menuFile.add(menuFilePrint);
    //menuFile.add(menuFilePrintSetup);
    menuFile.addSeparator();
    menuFile.add(menuFileExit);
    mb.add(menuEdit);
    menuEdit.add(menuEditUndo);
    //menuEdit.add(menuEditRedo);
    menuEdit.addSeparator();
    menuEdit.add(menuEditCut);
    menuEdit.add(menuEditCopy);
    menuEdit.add(menuEditPaste);
    menuEdit.add(menuEditDelete);
    menuEditDelete.add(menuEditDeleteSelection);
    menuEditDelete.add(menuEditDeleteLine);
    menuEditDelete.add(menuEditDeleteWord);
    menuEdit.addSeparator();
    menuEdit.add(menuEditFind);
    menuEdit.add(menuEditReplace);
    menuEdit.add(menuEditGoTo);
    menuEdit.addSeparator();
    menuEdit.add(menuEditSelectAll);
    mb.add(menuView);
    menuView.add(menuViewFont);
    menuView.add(menuViewColor);
    menuView.addSeparator();
    menuView.add(menuViewClassic);
    menuView.add(menuViewStatus);
    menuView.add(menuViewWordWrap);
    menuView.addSeparator();
    menuView.add(menuViewDoubleSpace);
    mb.add(menuHelp);
    menuHelp.add(menuHelpAbout);
    fr.addWindowListener(new WindowAdapter() {
                           public void windowClosing(WindowEvent e) {
                             System.exit(0);
                           }
                        });
    fr.setSize(600,420);
    fr.setVisible(true);
  }

  //ActionListener
  // 事件監聽方法
  public void actionPerformed(ActionEvent ae) {
    // 文件菜單事件響應
	if(ae.getSource() == menuFileNew) {
      // 新建文件
	  ta.replaceRange("", 0, ta.getText().length());
      fns = null;
      fileStatus.setText("New File");
      undo.discardAllEdits();
      menuEditUndo.setEnabled(false);
    }
    else if(ae.getSource() == menuFileOpen) {
      // 打開文件
	  String s = null;
      StringBuffer strPool = new StringBuffer();
      Frame openFileFrame = new Frame("Open file");
      FileDialog fileDialog = new FileDialog(openFileFrame);
      fileDialog.setMode(FileDialog.LOAD);
      fileDialog.setFile("*.txt;*.java");
      fileDialog.show();
      String file = fileDialog.getFile();
      String directory = fileDialog.getDirectory();
      // 讀取文件
	  if(file != null) {
        fns = directory + file;
        ta.replaceRange("", 0, ta.getText().length());
        BufferedReader br;
          try{
            br = new BufferedReader(new FileReader(fns));
            s = br.readLine();
            while(s != null) {
              strPool.append(s + '\15' + "\12");//+0D+0A
              s = br.readLine();
            }
            br.close();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久日产精品| 欧美变态tickle挠乳网站| 日产国产高清一区二区三区| 免费的成人av| 九九九久久久精品| 久久aⅴ国产欧美74aaa| 国产综合久久久久久久久久久久| 石原莉奈一区二区三区在线观看| 三级在线观看一区二区| 国内成人精品2018免费看| 国产麻豆精品在线观看| 成人av综合一区| 欧美夫妻性生活| 日韩你懂的电影在线观看| 日本一区二区免费在线| 亚洲毛片av在线| 日本在线不卡视频一二三区| 狠狠色综合日日| 欧美日本在线看| 亚洲综合激情小说| 一区二区三区小说| 国产乱子轮精品视频| 成人18视频在线播放| 欧美一区二区三区成人| 中文在线免费一区三区高中清不卡| 亚洲精品中文在线| 国产jizzjizz一区二区| 精品美女在线播放| 午夜精品久久久久久久久久| k8久久久一区二区三区| 久久婷婷国产综合国色天香| 亚洲国产sm捆绑调教视频| 国产91精品一区二区麻豆网站| 欧美在线不卡一区| 亚洲黄色小说网站| 在线一区二区三区做爰视频网站| 91精品国产aⅴ一区二区| 亚洲国产一区二区三区青草影视 | 成人小视频免费在线观看| 欧美一区二区三区四区高清| 欧美唯美清纯偷拍| 精品国内片67194| 高清不卡一二三区| 亚洲狼人国产精品| 欧美日韩亚洲综合| 精品无码三级在线观看视频 | 精品国产伦一区二区三区免费| 一区二区三区在线免费播放| 欧美三级资源在线| 国产麻豆成人传媒免费观看| 国产精品久久久久久久午夜片 | 欧美一级片在线| 国产精品亚洲一区二区三区在线| 久久久精品一品道一区| 成人在线综合网| 日韩精品一级二级| 国产精品久久一级| 91亚洲精品一区二区乱码| 亚洲国产视频一区| 精品国产91九色蝌蚪| 国产精品久久久久aaaa| 91精品国产一区二区三区蜜臀 | 色综合久久综合| 精品一区二区久久| 亚洲国产日产av| 国产欧美中文在线| 欧美一区二区三区在线视频| 91视频在线看| 久88久久88久久久| 男男gaygay亚洲| 首页国产欧美久久| 免费成人在线观看| 日本不卡中文字幕| 久久精品国产久精国产| 亚洲另类一区二区| 日韩二区在线观看| 成人黄页毛片网站| 中文字幕av一区 二区| 精品国产三级a在线观看| 欧美日韩亚洲综合| 日韩一卡二卡三卡| 国产精品免费久久| 亚洲人亚洲人成电影网站色| 国产精品色一区二区三区| 国产精品天美传媒| 亚洲综合图片区| 亚洲一区二区免费视频| 免费成人av资源网| 国产成人精品网址| 欧美亚男人的天堂| 久久久久久久久久久黄色| 国产精品人成在线观看免费| 亚洲一区在线观看免费观看电影高清 | 93久久精品日日躁夜夜躁欧美| 99精品久久只有精品| 欧美一三区三区四区免费在线看| 日韩欧美一二三区| 亚洲一二三区在线观看| 激情综合色丁香一区二区| 91香蕉视频污| 国产欧美一区二区精品久导航| 亚洲乱码精品一二三四区日韩在线 | 日韩欧美国产高清| 亚洲网友自拍偷拍| av中文字幕一区| 久久久综合视频| 日韩激情一二三区| 色婷婷久久久综合中文字幕| 久久尤物电影视频在线观看| 秋霞av亚洲一区二区三| 欧美精品123区| 日韩av电影天堂| 在线不卡中文字幕播放| 午夜激情综合网| 日韩欧美精品在线| 国内精品伊人久久久久影院对白| 欧亚一区二区三区| 图片区小说区区亚洲影院| 欧美日韩国产小视频| 亚洲午夜三级在线| 日韩久久精品一区| 狠狠色丁香婷综合久久| 国产欧美一区二区三区网站| 日本午夜一本久久久综合| 欧美mv和日韩mv的网站| 另类的小说在线视频另类成人小视频在线 | 亚洲国产精品久久艾草纯爱| 91精品国产一区二区三区| 蜜桃久久久久久| 一区二区在线观看视频| 欧美日韩视频在线第一区| 蓝色福利精品导航| 国产精品国产a| 欧美成人bangbros| 高清免费成人av| 亚洲成年人网站在线观看| 欧美一级黄色大片| 欧美在线一二三| 91免费版在线看| 国产老肥熟一区二区三区| 亚洲午夜久久久久| 国产欧美一二三区| 久久久久国产精品免费免费搜索| 精品入口麻豆88视频| 久久综合网色—综合色88| 国产一区二区在线观看免费| 亚洲午夜免费电影| 夜夜精品浪潮av一区二区三区| 日韩亚洲电影在线| 91精品欧美一区二区三区综合在| 91在线免费播放| 色综合久久天天| 色拍拍在线精品视频8848| 91免费在线看| 色94色欧美sute亚洲线路一ni| 91在线高清观看| 欧美性色欧美a在线播放| 欧美欧美欧美欧美首页| 欧美精品一二三区| 欧美本精品男人aⅴ天堂| 日韩视频免费直播| 久久蜜桃av一区二区天堂| 久久综合色综合88| 国产精品毛片高清在线完整版| 欧美国产一区视频在线观看| 中文字幕在线不卡国产视频| 亚洲欧美偷拍卡通变态| 五月天视频一区| 国产麻豆精品95视频| 欧美精品在线视频| 欧美激情在线一区二区三区| 亚洲小少妇裸体bbw| 免费观看91视频大全| 国产成人av一区二区三区在线观看| av在线不卡网| 日韩视频国产视频| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美四级电影在线观看| 久久久综合九色合综国产精品| 日本一区二区免费在线观看视频| 午夜成人免费电影| 91久久人澡人人添人人爽欧美| 久久综合色播五月| 看电视剧不卡顿的网站| 欧美在线视频你懂得| 夜夜嗨av一区二区三区中文字幕 | 欧美日韩和欧美的一区二区| 亚洲日本在线a| 成人av在线观| 中文字幕一区二区三区四区 | 亚洲桃色在线一区| 成人激情小说乱人伦| 国产精品久久久99| 丁香亚洲综合激情啪啪综合| 久久精品夜色噜噜亚洲aⅴ| 久久99日本精品| 精品va天堂亚洲国产| 成人中文字幕电影| 国产精品全国免费观看高清 | 欧美男女性生活在线直播观看|