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

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

?? proeframe.txt

?? Java記事本創建修改刪除
?? TXT
字號:
package proe;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.text.*;
import javax.swing.event.*;
import javax.swing.undo.*;
import java.util.*;

class ProEFrame extends JFrame{
    private JFileChooser fileChooser = new JFileChooser();

    private JMenuBar menuBar;
    private JMenu file, edit, format, help;
    private JMenuItem newItem, openItem, saveItem, saveAsItem, pageSetItem, printItem, exitItem;
    private JMenuItem undoItem, redoItem, cutItem, copyItem, pasteItem, deleteItem, findItem, findNextItem, replaceItem, goToLineItem, selectAllItem, timeItem;
    private JMenuItem autoNextLineItem, fontItem;
    private JMenuItem helpItem, aboutItem;
    private JTextArea textArea;
    private JScrollPane scrollPane;
    private final int TAB_SIZE = 4;

    private File fileName;
    private boolean isChange = false;

    private final UndoManager undo = new UndoManager();

    public ProEFrame(String title) {
 //設置窗體的標題欄和默認關閉操作
     super(title);
 setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

 //設置菜單欄和菜單的內容
 menuBar = new JMenuBar();
 file  = new JMenu("文件(F)");
 edit  = new JMenu("編輯(E)");
 format = new JMenu("格式(O)");
 help  = new JMenu("幫助(H)");
 setQuickKey(file, 'F');
 setQuickKey(edit, 'E');
 setQuickKey(format, 'O');
 setQuickKey(help, 'H');
 newItem = new JMenuItem("新建(N)");
 openItem = new JMenuItem("打開(O)...");
 saveItem = new JMenuItem("保存(S)");
 saveAsItem = new JMenuItem("另存為...");
 pageSetItem = new JMenuItem("頁面設置(U)...");
 printItem = new JMenuItem("打印(P)...");
 exitItem = new JMenuItem("退出");
 setQuickKey(newItem, 'N');
 setQuickKey(openItem, 'O');
 setQuickKey(saveItem, 'S');
 setQuickKey(pageSetItem, 'U');
 setQuickKey(printItem, 'P');
 
 file.add(newItem);
 file.add(openItem);
 file.add(saveItem);
 file.add(saveAsItem);
 file.addSeparator();
 file.add(pageSetItem);
 file.add(printItem);
 file.addSeparator();
 file.add(exitItem);

 undoItem = new JMenuItem("撤銷(Z)");
 redoItem = new JMenuItem("恢復(R)");
 cutItem = new JMenuItem("剪切(X)");
 copyItem = new JMenuItem("復制(C)");
 pasteItem = new JMenuItem("粘貼(V)");
 deleteItem = new JMenuItem("刪除");
 findItem = new JMenuItem("查找(F)...");
 findNextItem = new JMenuItem("查找下一個");
 replaceItem = new JMenuItem("替換...");
 goToLineItem = new JMenuItem("轉到(G)...");
 selectAllItem = new JMenuItem("全選(A)");
 timeItem = new JMenuItem("時間/日期");

 setQuickKey(undoItem, 'Z');
 setQuickKey(redoItem, 'R');
 setQuickKey(cutItem, 'X');
 setQuickKey(copyItem, 'C');
 setQuickKey(pasteItem, 'V');
 setQuickKey(findItem, 'F');
 setQuickKey(goToLineItem, 'G');
 setQuickKey(selectAllItem, 'A');
 
 edit.add(undoItem);
 edit.add(redoItem);
 edit.addSeparator();
 edit.add(cutItem);
 edit.add(copyItem);
 edit.add(pasteItem);
 edit.add(deleteItem);
 edit.addSeparator();
 edit.add(findItem);
 edit.add(findNextItem);
 edit.add(replaceItem);
 edit.add(goToLineItem);
 edit.addSeparator();
 edit.add(selectAllItem);
 edit.add(timeItem);

 autoNextLineItem = new JMenuItem("自動換行(W)");
 fontItem = new JMenuItem("字體...");

 setQuickKey(autoNextLineItem, 'W');

 format.add(autoNextLineItem);
 format.add(fontItem);

 helpItem = new JMenuItem("幫助主題(H)");
 aboutItem = new JMenuItem("關于ProE");

 setQuickKey(helpItem, 'H');

 help.add(helpItem);
 help.add(aboutItem);

 menuBar.add(file);
 menuBar.add(edit);
 menuBar.add(format);
 menuBar.add(help);
 setJMenuBar(menuBar);

 textArea = new JTextArea();
 textArea.setTabSize(TAB_SIZE);
 //支持撤銷/恢復操作的監聽方法
 textArea.getDocument().addUndoableEditListener(new UndoableEditListener() {
     public void undoableEditHappened(UndoableEditEvent evt) {
      undo.addEdit(evt.getEdit());
     }
 });
 //監聽文檔內容是否發生變化
 textArea.getDocument().addDocumentListener(
  new DocumentListener() {
   public void changedUpdate(DocumentEvent de) {
    isChange = true;
   }
   public void insertUpdate(DocumentEvent de) {
    isChange = true;
   }
   public void removeUpdate(DocumentEvent de) {
    isChange = true;
   }
  }
 );
 scrollPane = new JScrollPane(textArea);
 this.getContentPane().add(scrollPane, BorderLayout.CENTER);

 //測試用的方法
 MenuItemEventHandler menuItemHandler = new MenuItemEventHandler();
 newItem.addActionListener(menuItemHandler);
 openItem.addActionListener(menuItemHandler);
 saveItem.addActionListener(menuItemHandler);
 saveAsItem.addActionListener(menuItemHandler);
 pageSetItem.addActionListener(menuItemHandler);
 printItem.addActionListener(menuItemHandler);
 exitItem.addActionListener(menuItemHandler);
 undoItem.addActionListener(menuItemHandler);
 redoItem.addActionListener(menuItemHandler);
 cutItem.addActionListener(menuItemHandler);
 copyItem.addActionListener(menuItemHandler);
 pasteItem.addActionListener(menuItemHandler);
 deleteItem.addActionListener(menuItemHandler);
 findItem.addActionListener(menuItemHandler);
 findNextItem.addActionListener(menuItemHandler);
 replaceItem.addActionListener(menuItemHandler);
 goToLineItem.addActionListener(menuItemHandler);
 selectAllItem.addActionListener(menuItemHandler);
 timeItem.addActionListener(menuItemHandler);
 autoNextLineItem.addActionListener(menuItemHandler);
 fontItem.addActionListener(menuItemHandler);
 helpItem.addActionListener(menuItemHandler);
 aboutItem.addActionListener(menuItemHandler);

 addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent we) {
   exitPerformed();
  }
 });
    }

    //輔助方法:為菜單或者菜單項設定快捷鍵
    private void setQuickKey(AbstractButton button, char quickKey) {
 String type = button.getClass().getSimpleName();
 if(type.equals("JMenu"))
  button.setMnemonic(quickKey);
 else if(type.equals("JMenuItem")) {
  JMenuItem menuItem = (JMenuItem)button;
  menuItem.setAccelerator(KeyStroke.getKeyStroke(quickKey, InputEvent.CTRL_MASK));
 }
    }

    //輔助方法:測試JTextArea中文本是否有變化
    private boolean hasChange() {
 return isChange;
    }

    //內部方法:響應菜單事件
    private void newPerformed() {
 int value = -1;
 if(hasChange()) 
  if(fileName != null && fileName.exists()) {
   String[] buttonTexts = {"保存", "不保存", "取消"};
   value = JOptionPane.showOptionDialog(this, "源程序已經改變,請確認是否保存!", "保存更改?", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, buttonTexts, buttonTexts[0]);
   if(value == JOptionPane.YES_OPTION)
    savePerformed();
   else if(value == JOptionPane.NO_OPTION) {
    fileName = null;
    textArea.setText("");
    setTitle("程序編輯器");
    return;
   }
   else if(value == JOptionPane.CANCEL_OPTION)
    return;
  }
  else {
   saveAsPerformed();
   fileName = null;
   textArea.setText("");
   setTitle("程序編輯器");
   return;
  }
 fileName = null;
 textArea.setText("");
 setTitle("程序編輯器");
 isChange = false;
 return;
    }

    private void openPerformed() {
 BufferedReader input = null;
 String text;
 int ret = fileChooser.showOpenDialog(this);
 if(ret != JFileChooser.APPROVE_OPTION)
    return;
 newPerformed();
 fileName = fileChooser.getSelectedFile();
 if(fileName.exists() && fileName.canRead()) {
     setTitle("程序編輯器: " + fileName.getName()); 
     try{
         input = new BufferedReader(new FileReader(fileName));
         while((text = input.readLine()) != null)
      textArea.append(text + "\n");
         input.close();
     }
     catch(IOException e) {
         JOptionPane.showMessageDialog(this, "文件打開錯誤,沒有打開");
     }
     finally {
  input = null;
     }
 }
 isChange = false;
    }
    private void savePerformed() { 
 if(!hasChange())
  return;
 PrintWriter output = null;
 if(fileName != null && fileName.exists()) {
     try{
     output = new PrintWriter(fileName);
     output.write(textArea.getText());
     }
     catch(IOException e)
     {
         JOptionPane.showMessageDialog(this, "文件寫入錯誤,沒有保存");
     }
     finally {
         output.close();
         output = null;
     }
     isChange = false;
 }
 else 
     saveAsPerformed();
    }
    private void saveAsPerformed() {
  if(!hasChange())
     return;
 PrintWriter output = null;
 int ret = fileChooser.showSaveDialog(this);
 if(ret != JFileChooser.APPROVE_OPTION) { 
       isChange = true; 
     return;
 }

 fileName = fileChooser.getSelectedFile();
 setTitle("程序編輯器: " + fileName.getName()); 
 try{
     output = new PrintWriter(fileName);
          output.write(textArea.getText());  
 }
 catch(IOException e){
  JOptionPane.showMessageDialog(this, "文件寫入錯誤,沒有保存"); 
 }
 finally{
     output.close();
     output = null;
 }
 isChange = false;
    }
    private void pageSetPerformed() {
 System.out.println("顯示頁面設置對話框");
    }
    private void printPerformed() {
 System.out.println("顯示打印對話框");
    }
    private void exitPerformed() {
 String[] buttonTexts = {"保存退出", "不保存退出", "取消"};
 int value = -1;
 if(hasChange()) {
     value = JOptionPane.showOptionDialog(this, "源程序已經改變,請是否選擇保存或直接退出!", "退出程序", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, buttonTexts, buttonTexts[0]);
     switch(value)
     {
         case JOptionPane.YES_OPTION:
  savePerformed();
  break;
         case JOptionPane.NO_OPTION:
  System.exit(0);
  break;
         case JOptionPane.CANCEL_OPTION:
  isChange = true;
  return;
     }
 }
 else
     System.exit(0);
    }
    private void undoPerformed() {
 try{
  if(undo.canUndo())
   undo.undo();
 }catch(CannotUndoException e) {
  JOptionPane.showMessageDialog(this, "無法執行撤銷操作", "撤銷異常", JOptionPane.WARNING_MESSAGE);
 }
    }
    private void redoPerformed() {
 try{
  if(undo.canRedo())
   undo.redo();
 }catch(CannotRedoException e) {
  JOptionPane.showMessageDialog(this, "無法執行恢復操作", "恢復異常", JOptionPane.WARNING_MESSAGE);
 }
    }
    private void cutPerformed() {
 textArea.cut();
    }
    private void copyPerformed() {
 textArea.copy();
    }
    private void pastePerformed() {
 textArea.paste();
    }
    private void deletePerformed() {
 textArea.replaceRange(null, textArea.getSelectionStart(), textArea.getSelectionEnd());
    }
    private void findPerformed() {
 String findString = JOptionPane.showInputDialog(this, );
    }
    private void findNextPerformed() {
 System.out.println("查找下一個");
    }
    private void replacePerformed() {
 System.out.println("替換");
    }
    private void goToLinePerformed() {
 System.out.println("轉到");
    }
    private void selectAllPerformed() {
 textArea.selectAll();
    }
    private void timePerformed() {
 textArea.insert((new Date()).toString(), textArea.getSelectionEnd());
    }
    private void autoNextLinePerformed() {
 System.out.println("自動換行");
    }
    private void fontPerformed() {
 System.out.println("字體");
    }
    private void helpPerformed() {
 System.out.println("幫助主題");
    }
    private void aboutPerformed() {
 System.out.println("關于程序");
    }

   /**
    *<p>Title: </p>
    *<p>Description: 處理菜單出發的事件</p>
    *<p>Copyright: Copyright (c) 2005</p>
    *<p>Company: </p>
    *@author 紅色彼岸
    *@version 0.1
    */
    class MenuItemEventHandler implements ActionListener{
 public void actionPerformed(ActionEvent e) {
     JMenuItem item = (JMenuItem)e.getSource();
     if(item == newItem)
  newPerformed();
     else if(item == openItem)
  openPerformed();
     else if(item == saveItem)
  savePerformed();
     else if(item == saveAsItem)
  saveAsPerformed();
     else if(item == pageSetItem)
  pageSetPerformed();
     else if(item == printItem)
  printPerformed();
     else if(item == exitItem)
  exitPerformed();
     else if(item == undoItem)
  undoPerformed();
     else if(item == redoItem)
  redoPerformed();
     else if(item == cutItem)
  cutPerformed();
     else if(item == copyItem)
  copyPerformed();
     else if(item == pasteItem)
  pastePerformed();
     else if(item == deleteItem)
  deletePerformed();
     else if(item == findItem)
  findPerformed();
     else if(item == findNextItem)
  findNextPerformed();
     else if(item == replaceItem)
  replacePerformed();
     else if(item == goToLineItem)
  goToLinePerformed();
     else if(item == selectAllItem)
  selectAllPerformed();
     else if(item == timeItem)
  timePerformed();
     else if(item == autoNextLineItem)
  autoNextLinePerformed();
     else if(item == fontItem)
  fontPerformed();
     else if(item == helpItem)
  helpPerformed();
     else if(item == aboutItem)
  aboutPerformed();
 }
    }
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影一区二区| 国产欧美一区在线| 91丝袜美女网| av激情综合网| 色婷婷精品大在线视频| 色婷婷综合五月| 欧美日韩一级片网站| 欧美日韩一本到| 欧美一区欧美二区| 日韩一级精品视频在线观看| 欧美哺乳videos| 久久免费偷拍视频| 亚洲欧洲日本在线| 亚洲成a人在线观看| 久久国产精品无码网站| 国产99久久久国产精品免费看 | av电影在线观看完整版一区二区| 国产二区国产一区在线观看| 成人免费视频免费观看| 色哟哟在线观看一区二区三区| 欧美日韩久久不卡| 久久免费看少妇高潮| 亚洲精品日韩一| 久久国产视频网| 色欧美片视频在线观看在线视频| 91成人免费网站| 2021中文字幕一区亚洲| 国产日产欧美精品一区二区三区| 亚洲欧美日韩在线不卡| 日日摸夜夜添夜夜添国产精品| 久久99国产精品尤物| 91亚洲大成网污www| 欧美日本免费一区二区三区| 国产亚洲精品aa午夜观看| 亚洲自拍偷拍欧美| 粉嫩av亚洲一区二区图片| 欧美日韩精品免费| 中文字幕一区二区三区四区不卡| 亚洲第一福利视频在线| 成人av在线影院| 日韩精品资源二区在线| 亚洲美女屁股眼交| 国产精品69毛片高清亚洲| 欧美老女人第四色| 中文字幕一区二区日韩精品绯色| 久久99热99| 欧美日韩精品综合在线| 国产精品不卡一区二区三区| 精品无人码麻豆乱码1区2区 | 亚洲一区二区欧美激情| 国产一区二区久久| 欧美日本一区二区| 亚洲综合在线观看视频| 懂色av一区二区夜夜嗨| 日韩美女视频在线| 日韩高清电影一区| 色94色欧美sute亚洲13| 国产精品高潮呻吟| 成人自拍视频在线| 久久久久久久久久看片| 精品一二三四区| 精品日韩成人av| 日本欧美一区二区| 欧美一区二区私人影院日本| 亚洲va国产va欧美va观看| 色狠狠色狠狠综合| 亚洲品质自拍视频网站| 91在线精品一区二区三区| 国产喂奶挤奶一区二区三区| 久国产精品韩国三级视频| 91精品国产综合久久久久| 亚洲成人动漫在线免费观看| 欧美最猛性xxxxx直播| 亚洲精品成人天堂一二三| 99视频一区二区| 一区免费观看视频| 91国在线观看| 亚洲一卡二卡三卡四卡 | 精品一区二区三区日韩| 欧美电影免费观看高清完整版在 | 国产精品家庭影院| 成人免费视频app| 国产精品电影一区二区| 91欧美激情一区二区三区成人| 亚洲欧洲日本在线| 欧美色图第一页| 蜜臀久久99精品久久久久宅男| 日韩精品一区二区三区视频播放| 极品少妇一区二区三区精品视频 | 91在线免费视频观看| 亚洲美女屁股眼交3| 欧美三级一区二区| 国产一区二区三区在线观看精品| 久久久久国产成人精品亚洲午夜| 成人午夜伦理影院| 国产精品久久久久久亚洲伦| 在线观看亚洲一区| 另类小说欧美激情| 国产精品三级久久久久三级| 色婷婷久久久亚洲一区二区三区| 午夜激情综合网| 国产偷国产偷亚洲高清人白洁| 99热这里都是精品| 日韩成人精品在线| 国产精品乱码一区二三区小蝌蚪| 色系网站成人免费| 久久99久久99| 亚洲精选视频在线| 精品久久国产老人久久综合| www.色精品| 日本成人在线不卡视频| 国产精品大尺度| 91精品国产91久久久久久一区二区 | 亚洲码国产岛国毛片在线| 欧美三级电影网| 丰满白嫩尤物一区二区| 日韩av中文字幕一区二区三区| 中文字幕av一区二区三区| 欧美日韩精品三区| 99在线精品观看| 精品一区二区三区不卡| 一区二区日韩av| 欧美国产丝袜视频| 欧美大片一区二区| 69p69国产精品| 在线免费观看不卡av| 国产91精品免费| 久久精品国产在热久久| 午夜精品久久久久久久蜜桃app| 国产精品青草综合久久久久99| 在线播放91灌醉迷j高跟美女 | 久久精品在线免费观看| 欧美一区二区三级| 精品污污网站免费看| 色婷婷av一区| jlzzjlzz欧美大全| 成人开心网精品视频| 国产综合色视频| 久久99精品国产麻豆婷婷洗澡| 午夜激情一区二区| 亚洲成人av一区二区三区| 一区二区在线观看免费视频播放| 国产欧美日韩三区| 国产欧美日韩三级| 国产三级久久久| 国产三级精品在线| 亚洲国产高清不卡| 中文字幕一区不卡| 亚洲情趣在线观看| 夜夜嗨av一区二区三区四季av| 亚洲免费观看高清完整版在线观看熊 | 日本不卡在线视频| 麻豆成人av在线| 国产精一区二区三区| 国产成人亚洲综合a∨婷婷| 国产不卡免费视频| 国产成人综合网站| 成人av电影在线| 91麻豆蜜桃一区二区三区| 在线观看国产一区二区| 欧美性xxxxxx少妇| 91精品黄色片免费大全| 日韩精品一区二区三区中文不卡 | 国产视频不卡一区| 中文字幕成人在线观看| 国产精品萝li| 亚洲综合免费观看高清完整版在线| 亚洲国产精品视频| 激情六月婷婷久久| 成人性生交大片| 色久综合一二码| 欧美电影免费观看高清完整版在线| 久久嫩草精品久久久久| 国产精品盗摄一区二区三区| 夜夜精品浪潮av一区二区三区| 日本一不卡视频| 国产69精品一区二区亚洲孕妇| 色国产精品一区在线观看| 日韩一区二区三区视频在线观看| 久久久久免费观看| 亚洲一二三四在线观看| 精品一区二区成人精品| 色综合天天综合色综合av| 欧美一级午夜免费电影| 国产精品美女久久久久av爽李琼| 亚洲国产精品尤物yw在线观看| 黄色小说综合网站| 在线亚洲精品福利网址导航| 日韩欧美一区在线| 亚洲乱码中文字幕| 狠狠狠色丁香婷婷综合激情| 91久久奴性调教| 国产欧美综合色| 美女被吸乳得到大胸91| 色综合天天综合狠狠| 欧美不卡视频一区| 五月激情六月综合| 91视频观看视频| 精品国产免费一区二区三区香蕉| 亚洲欧洲综合另类在线|