資源簡介
這位是我剛做的一個windows記事本;使用的是JTextPane做的,已經實現全部的功能;還就有語法高亮和插入圖片的功能
代碼片段和文件信息
package?note;
import?java.awt.Color;
import?java.awt.Component;
import?java.awt.Container;
import?java.awt.GridBagConstraints;
import?java.awt.GridBagLayout;
import?java.awt.datatransfer.Clipboard;
import?java.awt.datatransfer.DataFlavor;
import?java.awt.datatransfer.StringSelection;
import?java.awt.datatransfer.Transferable;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.KeyAdapter;
import?java.awt.event.KeyEvent;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?java.util.linkedList;
import?javax.swing.text.Element;
import?javax.swing.ButtonGroup;
import?javax.swing.JButton;
import?javax.swing.JCheckBox;
import?javax.swing.JDialog;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JOptionPane;
import?javax.swing.JRadioButton;
import?javax.swing.JTextField;
import?javax.swing.event.DocumentEvent;
import?javax.swing.event.DocumentListener;
import?javax.swing.event.UndoableEditEvent;
import?javax.swing.event.UndoableEditListener;
import?javax.swing.text.Document;
import?javax.swing.undo.UndoableEdit;
import?javax.swing.text.BadLocationException;
@SuppressWarnings(“serial“)
class?EditClass?extends?Jframe{
MainClass?mainclass?=null;
Date?nowtime?=?new?Date();//時間對象
Clipboard?clipboard?=?getToolkit().getSystemClipboard();//獲取系統的剪切板
SimpleDateFormat?dateformat?=?new?SimpleDateFormat(“yyyy-mm-dd?hh:mm“);//時間顯示的格式
linkedList?undolist?=?new?linkedList();//存儲撤銷操作
public?GridBagConstraints?constraints;
static?final?int?listcount?=20;//最大可撤銷操作數
public?EditClass(MainClass?m)
{
mainclass?=?m;
????Document?doc?=?mainclass.textarea.getstyledDocument();//設置Document對象
????????//撤銷菜單項事件
????//撤銷操作
????doc.addDocumentListener(new?DocumentListener(){
public?void?changedUpdate(DocumentEvent?e)?{
}
public?void?insertUpdate(DocumentEvent?e)?{
mainclass.back.setEnabled(true);
mainclass.find.setEnabled(true);
mainclass.findNext.setEnabled(true);
mainclass.delete.setEnabled(true);
}
public?void?removeUpdate(DocumentEvent?e)?{
}
??});
????//恢復操作
????doc.addUndoableEditListener(new?UndoableEditListener(){
?????
public?void?undoableEditHappened(UndoableEditEvent?e){
????
UndoableEdit?edit?=?e.getEdit();
if(edit.canUndo()&&undolist.size() ???
???//將撤銷操作裝入List內
???undolist.add(edit);
}
//已經達到最大撤銷次數
else?if(edit.canUndo()&&undolist.size()>=listcount){
???
???//彈出第一個撤消操作
???undolist.poll();
???//將撤銷操作裝入List內
???undolist.add(edit);
} ?
?}
?});?
//為Ctrl+Z添加監聽器
mainclass.textarea.addKeyListener(new?KeyAdapter(){
?????
public?void?keyPressed(KeyEvent?e){
????//按鍵Ctrl+Z
if(e.getKeyChar()==‘‘){
???
???if(undolist.size()>0){
??????//移出最后一個可撤銷操作,并取消該操作
??undolist.removeLas
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????226??2010-12-06?01:40??記事本修訂版\.classpath
?????文件????????379??2009-12-08?16:31??記事本修訂版\.project
?????文件????????162??2010-12-06?01:34??記事本修訂版\build.cmd
?????文件????????891??2003-01-25?08:56??記事本修訂版\ico\1.gif
?????文件???????1254??2003-01-25?08:56??記事本修訂版\ico\2.gif
?????文件??????40854??2010-12-05?16:24??記事本修訂版\ico\20414511.gif
?????文件???????1230??2003-01-25?08:56??記事本修訂版\ico\3.gif
?????文件???????1142??2003-01-25?08:56??記事本修訂版\ico\4.gif
?????文件??????23303??2007-03-13?00:06??記事本修訂版\ico\about.png
?????文件???????4003??2007-05-03?23:23??記事本修訂版\ico\copy.png
?????文件???????1489??2001-11-27?18:05??記事本修訂版\ico\dsk.GIF
?????文件???????3193??2010-12-05?16:02??記事本修訂版\ico\dskj.png
?????文件??????22898??2007-03-13?00:07??記事本修訂版\ico\exit.png
?????文件???????6662??2008-01-03?11:03??記事本修訂版\ico\female.png
?????文件???????1445??2008-01-04?11:37??記事本修訂版\ico\folder.png
?????文件???????3194??2008-01-03?11:03??記事本修訂版\ico\heart.png
?????文件???????7979??2008-01-03?11:03??記事本修訂版\ico\male.png
?????文件???????1012??2008-01-03?11:15??記事本修訂版\ico\new.png
?????文件???????2995??2008-01-03?11:02??記事本修訂版\ico\ok.png
?????文件????????189??2006-09-17?17:40??記事本修訂版\ico\open.png
?????文件???????3960??2007-05-03?23:23??記事本修訂版\ico\paste.png
?????文件???????2052??2001-11-27?18:05??記事本修訂版\ico\pict.GIF
?????文件???????2809??2008-01-04?11:03??記事本修訂版\ico\pict.png
?????文件??????15663??2010-12-05?16:21??記事本修訂版\ico\企鵝.gif
?????文件???????9777??2010-12-05?16:25??記事本修訂版\ico\畫個圈圈詛咒你.gif
?????文件??????????8??2010-11-30?20:33??記事本修訂版\log\Logfile.1
?????文件????????229??2010-11-30?18:47??記事本修訂版\log\Snapshot.1
?????文件??????????4??2010-11-30?18:47??記事本修訂版\log\Version_Number
?????文件??????59451??2010-11-21?18:45??記事本修訂版\my.stx
?????文件????????915??2010-12-06?12:13??記事本修訂版\note\EditClass$1.class
............此處省略92個文件信息
評論
共有 條評論