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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? minieditor.java

?? 用java編寫(xiě)的微型筆記本程序
?? JAVA
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/*
 * 文件名: MiniEditor.java
 * 說(shuō)  明: MiniEditor主類(lèi),實(shí)現(xiàn)主要功能
 */

// 導(dǎo)入AWT包
import java.awt.*;
import java.awt.event.*;
// 導(dǎo)入IO包
import java.io.*;
// 導(dǎo)入SWING包
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.undo.*;

// 主類(lèi)MiniEditor

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

// 菜單項(xiàng)目聲明

  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;
 
  // 選項(xiàng)菜單聲明
  JCheckBoxMenuItem menuViewClassic, menuViewStatus, menuViewWordWrap;
  // 可打印TextArea聲明
  PrintableTextArea ta;
  TextField tfs, tfro, tfrn;
  // 狀態(tài)欄標(biāo)簽聲明
  Label fileStatus, statusRow, statusCol, statusMode, statusSize;
  // 彈出對(duì)話(huà)框按鈕聲明
  Button bs, brf, brr, brra;
  // 子Frame和JDialog實(shí)例聲明
  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();

  // 狀態(tài)標(biāo)記
  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) {
    }
	// 設(shè)定Locale
    //Locale.setDefault(Locale.CHINA);
    //Locale.setDefault(new Locale("zh", "CN"));
    MiniEditor me = new MiniEditor();
    me.windowLayout();
  }
  
  // 窗體布局方法
  public void windowLayout(){
	// 對(duì)窗體進(jìn)行布局操作
	// 添加組件到窗體并進(jìn)行合理布局
    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
  // 事件監(jiān)聽(tīng)方法
  public void actionPerformed(ActionEvent ae) {
    // 文件菜單事件響應(yīng)
	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) {
      // 打開(kāi)文件
	  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();

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品亚洲专区| 亚洲免费观看在线视频| 成人午夜大片免费观看| 一区二区欧美精品| 2021中文字幕一区亚洲| 96av麻豆蜜桃一区二区| 看电视剧不卡顿的网站| 午夜亚洲福利老司机| 亚洲三级免费观看| 国产亚洲精品久| 精品国产三级电影在线观看| 欧美亚洲综合网| eeuss鲁片一区二区三区在线观看| 麻豆久久一区二区| 日日夜夜精品视频免费| 亚洲高清免费视频| 亚洲综合免费观看高清在线观看| 国产精品女人毛片| 成人免费一区二区三区视频| 精品少妇一区二区| 日韩一区二区精品| 欧美mv日韩mv亚洲| 久久久久久久综合色一本| 久久综合九色综合97婷婷女人| 欧美不卡一区二区三区四区| 精品日韩99亚洲| 久久久不卡网国产精品二区| 国产日韩欧美精品电影三级在线| 91亚洲精品久久久蜜桃网站 | 成人激情小说网站| 99久久久无码国产精品| 在线观看一区日韩| 欧美日韩国产大片| 日韩免费高清视频| 国产精品天干天干在线综合| 最新不卡av在线| 亚洲国产视频一区| 久久99精品国产麻豆婷婷洗澡| 国产一区视频网站| 91福利国产成人精品照片| 欧美一二三区精品| 国产精品久久久久久久久久久免费看 | 56国语精品自产拍在线观看| 久久久久久久久久久电影| 亚洲欧美另类久久久精品| 日韩电影一二三区| thepron国产精品| 日韩一区二区麻豆国产| 亚洲三级久久久| 久久超碰97中文字幕| 色综合夜色一区| 国产日韩欧美综合一区| 天堂成人免费av电影一区| av影院午夜一区| 精品国产一区二区亚洲人成毛片 | 麻豆精品精品国产自在97香蕉| 懂色中文一区二区在线播放| 欧美福利电影网| 亚洲精选视频免费看| 国产成人免费视频精品含羞草妖精| 欧美日韩国产乱码电影| 亚洲欧洲精品一区二区三区不卡| 亚洲视频在线观看三级| 精品综合久久久久久8888| 欧美日韩高清一区| 亚洲第一久久影院| 欧美四级电影网| 亚洲国产精品久久不卡毛片 | 肉丝袜脚交视频一区二区| 色先锋资源久久综合| 亚洲视频一二三| 成人精品小蝌蚪| 国产精品黄色在线观看| 成人免费不卡视频| 中文字幕在线一区| caoporn国产一区二区| 国产精品国产自产拍高清av王其| 国产福利精品一区二区| 中文字幕欧美激情一区| youjizz久久| 亚洲国产一区二区a毛片| 91精品婷婷国产综合久久性色| 日韩国产一区二| 91麻豆精品91久久久久同性| 久久成人羞羞网站| 久久久国产一区二区三区四区小说 | 99re这里只有精品6| 亚洲国产综合在线| 精品国产一区二区亚洲人成毛片| 国产sm精品调教视频网站| 亚洲卡通欧美制服中文| 日韩精品一区二区三区在线观看| 国产精品 日产精品 欧美精品| 有码一区二区三区| 日韩午夜在线观看| 97久久精品人人做人人爽| 五月婷婷另类国产| 国产欧美一二三区| 欧美日韩视频在线一区二区 | 成人性视频免费网站| 一区二区三区四区在线免费观看| 5858s免费视频成人| a4yy欧美一区二区三区| 秋霞午夜av一区二区三区| 国产精品视频麻豆| 日韩欧美亚洲国产另类| 91在线视频观看| 国产精品一区一区三区| 日韩高清在线不卡| 亚洲综合另类小说| 国产精品久久久久精k8| 精品久久久久久久久久久久久久久| 一本大道久久a久久综合| 国产精品99久久久久久久女警| 美国欧美日韩国产在线播放| 亚洲福利一二三区| 亚洲国产wwwccc36天堂| 国产精品视频你懂的| 国产色综合一区| 国产亚洲欧美日韩俺去了| 欧美丰满少妇xxxbbb| 日本高清成人免费播放| 99久久er热在这里只有精品15| 高清日韩电视剧大全免费| 国产美女一区二区| 国产一区二区成人久久免费影院| 日韩 欧美一区二区三区| 麻豆高清免费国产一区| 狠狠色2019综合网| 国产一区二区三区在线观看免费视频 | 午夜精品影院在线观看| 日韩国产欧美在线播放| 美女网站色91| 国产精品99久久久久久宅男| 懂色av一区二区三区免费看| 99r国产精品| 欧美日韩小视频| 精品久久久久久久人人人人传媒| 精品91自产拍在线观看一区| 中文在线一区二区| 一区二区三区四区乱视频| 偷拍自拍另类欧美| 亚洲精品午夜久久久| 国产精品家庭影院| 肉色丝袜一区二区| 国产成人在线影院| 91激情五月电影| 欧美精品一区二区三区蜜桃| 1024精品合集| 蜜桃一区二区三区在线观看| 成人小视频免费在线观看| 欧美日韩一区二区三区在线看 | 久久精品亚洲精品国产欧美| 1000部国产精品成人观看| 日本欧美肥老太交大片| 成人久久视频在线观看| 欧美一区二区三区视频在线观看| 国产精品乱码人人做人人爱| 午夜精品久久久久影视| 97精品电影院| 国产精品午夜免费| 美女高潮久久久| 日韩欧美激情一区| 午夜精品久久久久久| 91久久一区二区| 欧美国产精品一区| 国产一区二区三区四区在线观看| 欧美性欧美巨大黑白大战| 亚洲欧美日韩精品久久久久| 福利一区二区在线观看| 欧美激情资源网| 国产 欧美在线| 中文一区二区完整视频在线观看| 日韩高清不卡一区二区三区| 99re这里只有精品首页| 久久蜜桃一区二区| 国产专区欧美精品| 亚洲精品在线一区二区| 天堂成人国产精品一区| 在线免费观看成人短视频| 亚洲人妖av一区二区| 成人免费高清在线| 国产欧美一区二区三区在线老狼| 国产乱码精品1区2区3区| 欧美一区二区三区系列电影| 久久精品视频一区| 日韩一区精品视频| 欧美无乱码久久久免费午夜一区| 亚洲色图欧洲色图婷婷| 成人丝袜视频网| 亚洲精品国产第一综合99久久| 91香蕉国产在线观看软件| 欧美日韩精品一区二区三区 | 91亚洲永久精品| 亚洲精品videosex极品| 欧美亚洲日本国产| 麻豆视频观看网址久久| 欧美成人免费网站| 精品亚洲成a人| 综合久久给合久久狠狠狠97色|