亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产亚洲一区二区三区四区| 成人国产精品视频| 一区二区在线免费观看| 国产欧美日韩在线| 中文字幕一区二区三区在线观看| 欧美国产亚洲另类动漫| 国产欧美日韩另类视频免费观看 | 久久综合久久综合久久| 欧美精品一区二区蜜臀亚洲| 久久色在线观看| 亚洲黄色尤物视频| 成人午夜电影久久影院| 91九色最新地址| 这里只有精品免费| 国产欧美日韩另类一区| 免费三级欧美电影| 成人激情视频网站| 欧美精品一区二区三区高清aⅴ | 亚洲视频资源在线| 亚洲国产成人va在线观看天堂| 日韩av电影免费观看高清完整版 | 成人av午夜电影| 精品国产91乱码一区二区三区 | 国产成a人亚洲精| 色综合久久天天| 欧美一级免费大片| 欧美sm美女调教| 日韩福利视频网| 99re视频这里只有精品| 欧美一区二区三区视频免费| 亚洲午夜免费视频| 欧美日韩一区二区三区在线| 国产视频一区在线观看 | 精品成人在线观看| 蜜臀av一区二区在线观看 | 国产一区欧美日韩| 91精彩视频在线| 一区二区三区中文字幕| 国产sm精品调教视频网站| 久久久噜噜噜久噜久久综合| 日韩国产高清影视| 日韩欧美在线影院| 国产黑丝在线一区二区三区| 欧美日韩精品一区二区在线播放 | 欧美aⅴ一区二区三区视频| 91精选在线观看| 久久国产欧美日韩精品| 91精品一区二区三区久久久久久| 天堂va蜜桃一区二区三区漫画版| 91麻豆产精品久久久久久| 国产色产综合色产在线视频| 成人av在线一区二区三区| 亚洲欧洲制服丝袜| 成人午夜av电影| 亚洲免费高清视频在线| 欧美精品丝袜久久久中文字幕| 亚洲精品国产成人久久av盗摄| 欧美影视一区在线| 成人欧美一区二区三区1314| 91高清视频在线| 老司机精品视频一区二区三区| 国产精品丝袜一区| 懂色一区二区三区免费观看| 一区二区三区四区在线免费观看| 欧美精品在线观看一区二区| 国产一区二区三区精品视频| 国产精品白丝在线| 成av人片一区二区| 性欧美大战久久久久久久久| 日本韩国欧美国产| 久草中文综合在线| 国产亚洲精品资源在线26u| 色综合中文字幕国产 | 国产午夜亚洲精品理论片色戒 | 日韩一区二区麻豆国产| 成人精品免费看| 日韩和欧美一区二区| 中文字幕电影一区| 91精品国模一区二区三区| 不卡视频在线观看| 日本一不卡视频| 亚洲婷婷国产精品电影人久久| 日韩西西人体444www| 色哟哟一区二区| 国产91对白在线观看九色| 丝袜美腿成人在线| 一个色在线综合| 欧美激情一区二区三区| 精品国产91久久久久久久妲己| 日本韩国欧美三级| 成人av电影在线播放| 久久精品72免费观看| 亚洲va欧美va人人爽午夜| 亚洲女人****多毛耸耸8| xnxx国产精品| 日韩欧美一区二区免费| 国产麻豆精品在线观看| 日日摸夜夜添夜夜添国产精品| 亚洲精品久久久蜜桃| 国产精品毛片久久久久久| 精品对白一区国产伦| 日韩一区二区三区观看| 欧美乱熟臀69xxxxxx| 在线观看亚洲a| 精品午夜一区二区三区在线观看| 亚洲第一会所有码转帖| 亚洲在线观看免费视频| 精品国产免费视频| 欧美一二三四区在线| 51午夜精品国产| 国产欧美日韩精品一区| 欧美tickle裸体挠脚心vk| 欧美v日韩v国产v| 日韩欧美在线影院| 2023国产精华国产精品| 国产亚洲欧美日韩在线一区| 26uuu久久综合| 久久久国际精品| 国产精品国产精品国产专区不片| 欧美激情中文字幕| 亚洲欧洲国产专区| 亚洲欧美日韩小说| 洋洋成人永久网站入口| 天天色综合天天| 国产精品久久免费看| 亚洲欧美日韩综合aⅴ视频| 亚洲欧美成人一区二区三区| 亚洲综合免费观看高清完整版在线| 亚洲国产精品一区二区久久恐怖片 | 亚洲综合男人的天堂| 性欧美大战久久久久久久久| 青青草视频一区| 国产乱理伦片在线观看夜一区 | 欧美精品自拍偷拍| 日韩视频在线你懂得| 久久夜色精品一区| 国产精品国产精品国产专区不蜜| 一区二区三区中文字幕精品精品 | 亚洲国产精品自拍| 久久99久久久久| 国产mv日韩mv欧美| 欧美性三三影院| 欧美va亚洲va在线观看蝴蝶网| 国产精品久久久久毛片软件| 亚洲永久精品国产| 国内一区二区视频| 九九视频精品免费| 97久久超碰精品国产| 欧美一区二区视频在线观看| 久久精品这里都是精品| 一区二区三区中文在线| 国产综合色在线视频区| 91久久国产综合久久| 久久综合久久综合久久| 一区二区三区日韩欧美| 国产精品亚洲第一区在线暖暖韩国| av在线不卡网| 色综合久久88色综合天天免费| 欧美一级艳片视频免费观看| 中文字幕一区二区三区四区不卡| 天天影视涩香欲综合网| 国产成人a级片| 91精品国产品国语在线不卡| 《视频一区视频二区| 久久成人18免费观看| 91国产丝袜在线播放| 久久精品视频免费| 美腿丝袜在线亚洲一区| 91老师国产黑色丝袜在线| 欧美精品一区二区三区视频| 午夜精品一区二区三区免费视频 | 亚洲成人激情综合网| 国产成a人亚洲精| 欧美成人一区二区三区片免费 | 日韩三级伦理片妻子的秘密按摩| 国产精品福利av| 国产尤物一区二区在线 | 在线亚洲免费视频| 中文字幕中文在线不卡住| 国产精品资源在线观看| 日韩欧美成人一区二区| 日韩国产在线观看一区| 色综合色狠狠综合色| 中文幕一区二区三区久久蜜桃| 精品亚洲国产成人av制服丝袜| 日韩视频一区二区在线观看| 亚洲综合久久久久| 色av成人天堂桃色av| 中文字幕在线不卡视频| 粉嫩av一区二区三区| 国产欧美视频一区二区三区| 狠狠色伊人亚洲综合成人| 91精品午夜视频| 日产欧产美韩系列久久99| 在线播放欧美女士性生活| 亚洲va欧美va天堂v国产综合| 欧美日韩精品系列| 五月天中文字幕一区二区| 欧美精品高清视频| 免费日本视频一区|