java记事本支持拖读文件和自动保存.docx
- 文档编号:23579234
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:67
- 大小:30.89KB
java记事本支持拖读文件和自动保存.docx
《java记事本支持拖读文件和自动保存.docx》由会员分享,可在线阅读,更多相关《java记事本支持拖读文件和自动保存.docx(67页珍藏版)》请在冰豆网上搜索。
java记事本支持拖读文件和自动保存
importjavax.swing.*;
importjava.awt.*;
importjava.awt.Font;
importjava.awt.event.*;
importjava.util.*;
importjava.util.Date;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.GregorianCalendar;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
importjavax.swing.JPopupMenu;
importjavax.swing.ListSelectionModel;
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.Container;
importjava.awt.Dimension;
importjava.awt.FlowLayout;
importjava.awt.Font;
importjava.awt.GraphicsEnvironment;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.InputEvent;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjava.awt.event.KeyEvent;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.io.File;
importjava.io.FileReader;
importjava.io.FileWriter;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.GregorianCalendar;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
importjavax.swing.BorderFactory;
importjavax.swing.BoxLayout;
importjavax.swing.ButtonGroup;
importjavax.swing.Icon;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JCheckBoxMenuItem;
importjavax.swing.JColorChooser;
importjavax.swing.JComboBox;
importjavax.swing.JDialog;
importjavax.swing.JFileChooser;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JRadioButtonMenuItem;
importjavax.swing.JTextField;
importjavax.swing.JToolBar;
importjavax.swing.ListSelectionModel;
importjavax.swing.SwingConstants;
importjavax.swing.SwingUtilities;
importjavax.swing.UIManager;
importjavax.swing.JList;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JPopupMenu;
importjavax.swing.JScrollPane;
importjavax.swing.KeyStroke;
importjavax.swing.JTextPane;
importjavax.swing.event.DocumentEvent;
importjavax.swing.event.DocumentListener;
importjavax.swing.event.ListSelectionEvent;
importjavax.swing.event.ListSelectionListener;
importjavax.swing.event.UndoableEditEvent;
importjavax.swing.event.UndoableEditListener;
importjavax.swing.text.DefaultStyledDocument;
importjavax.swing.text.SimpleAttributeSet;
importjavax.swing.text.StyleConstants;
importjavax.swing.text.StyledDocument;
importjavax.swing.text.StyledEditorKit;
importjavax.swing.undo.CannotUndoException;
importjavax.swing.undo.UndoManager;
importjava.awt.*;
importjava.awt.event.*;
importjava.text.*;
importjava.util.*;
importjava.io.*;
importjavax.swing.undo.*;
importjavax.swing.*;
importjavax.swing.event.*;
importjava.awt.datatransfer.*;
importjava.util.List;
importjava.awt.datatransfer.DataFlavor;
importjava.awt.datatransfer.Transferable;
importjava.awt.datatransfer.UnsupportedFlavorException;
importjava.awt.dnd.DnDConstants;
importjava.awt.dnd.DropTarget;
importjava.awt.dnd.DropTargetDragEvent;
importjava.awt.dnd.DropTargetDropEvent;
importjava.awt.dnd.DropTargetEvent;
importjava.awt.dnd.DropTargetListener;
importjava.io.File;
importjava.io.*;
importjava.io.IOException;
importjava.util.Iterator;
importjava.util.List;
importjavax.swing.*;
publicclasstest2extendsJFrameimplementsDocumentListener{//implementsActionListener,DocumentListener
privatestaticfinallongserialVersionUID=1L;
staticfinalintWIDTH=600;
staticfinalintHEIGHT=300;
//JLabelstatusLabel=newJLabel();
MytextAreatextarea=newMytextArea();
//---------------系统剪贴板
ToolkittoolKit=Toolkit.getDefaultToolkit();
ClipboardclipBoard=toolKit.getSystemClipboard();
DimensionscreenSize=toolKit.getScreenSize();
intwidth=screenSize.width;
intheight=screenSize.height;
intx=(width-WIDTH)/2;
inty=5*(height-HEIGHT)/12;
staticintjframenum=0;
protectedUndoableEditListenerundoHandler=newUndoHandler();
protectedUndoManagerundo=newUndoManager();
Filef;
FilesaveFileName=null,fileName=null;
booleanisChange;
JFileChooserchooser=newJFileChooser();
privateFilecurrentFile=null;
//JFrameframe=newJFrame();
//---------------------------------------风格菜单
privateButtonGroupstyleMenuGroup;
JRadioButtonMenuItemjavaStyleMenuItem;
JRadioButtonMenuItemmetalStyleMenuItem;
JRadioButtonMenuItemwindowsStyleMenuItem;
//UIManager.LookAndFeelInfolooks[]=UIManager.getInstalledLookAndFeels();
//---------------工具栏按钮
JButtonnewButton,openButton,saveButton,saveAsButton,printButton,undoButton,redoButton,cutButton,copyButton,pasteButton,deleteButton,searchButton,timeButton,fontButton,boldButton,italicButton,fgcolorButton,bgcolorButton,helpButton;
//状态栏标签
JLabelstatusLabel1,statusLabel2,statusLabel3;
JToolBarstatusBar;
JMenumenu1=newJMenu("文件(F)",true);
JMenumenu2=newJMenu("编辑(E)",true);
JMenumenu3=newJMenu("格式(O)");
JMenumenu4=newJMenu("查看(V)");
JMenumenu5=newJMenu("菜单风格(M)");
JMenumenu6=newJMenu("帮助(H)");
JMenuItemitem1=newJMenuItem("新建(N)");//创建菜单项组件
JMenuItemitem2=newJMenuItem("打开(O)");
JMenuItemitem3=newJMenuItem("保存(S)");
JMenuItemitem4=newJMenuItem("另存为(N)");
JMenuItemitem5=newJMenuItem("页面设置");
JMenuItemitem6=newJMenuItem("打印(P)");
JMenuItemitem7=newJMenuItem("退出");
JMenuItemitem8=newJMenuItem("撤销");
JMenuItemitem9=newJMenuItem("剪切");
JMenuItemitem10=newJMenuItem("复制");
JMenuItemitem11=newJMenuItem("粘贴");
JMenuItemitem12=newJMenuItem("删除");
JMenuItemitem13=newJMenuItem("查找");
JMenuItemitem14=newJMenuItem("查找下一个");
JMenuItemitem15=newJMenuItem("替换");
JMenuItemitem16=newJMenuItem("转到");
JMenuItemitem17=newJMenuItem("全选");
JMenuItemitem18=newJMenuItem("时间/日期(D)");
JCheckBoxMenuItemitem19=newJCheckBoxMenuItem("自动换行");
JMenuItemitem20=newJMenuItem("字体");
JCheckBoxMenuItemitem21=newJCheckBoxMenuItem("状态栏");
JCheckBoxMenuItemitem22=newJCheckBoxMenuItem("Java风格");
JCheckBoxMenuItemitem23=newJCheckBoxMenuItem("Matel风格");
JCheckBoxMenuItemitem24=newJCheckBoxMenuItem("Windows风格");
JMenuItemitem25=newJMenuItem("查看帮助");
JMenuItemitem26=newJMenuItem("关于记事本");
finalJPopupMenupopupMenu=newJPopupMenu();
finalJMenuItempopUndo=newJMenuItem("撤消");
finalJMenuItempopCopy=newJMenuItem("复制(C)");
finalJMenuItempopPaste=newJMenuItem("粘贴(P)");
finalJMenuItempopCut=newJMenuItem("剪切(T)");
finalJMenuItempopDelete=newJMenuItem("删除(L)");
finalJMenuItempopAll=newJMenuItem("全选");
finalJMenuItempopWord=newJMenuItem("字体(F)");
finalJMenuItempopStage=newJMenuItem("段落");
GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();
finalStringfontName[]=ge.getAvailableFontFamilyNames();
finalStringfontStyle[]={"常规","粗体","斜体","粗斜体"};
finalStringfontSize[]={"8","9","10","11","12","14","16","18","20","22","24","26","28","36","48","72"};
StringoldValue;//存放编辑区原来的内容,用于比较文本是否有改动
JLabelsample;
JColorChoosercolorChooser=newJColorChooser();
finalintfontStyleConst[]={Font.PLAIN,Font.BOLD,Font.ITALIC,Font.BOLD+Font.ITALIC};
publictest2(){
super("记事本");
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
textarea.setLineWrap(true);
textarea.setSelectedTextColor(Color.red);
textarea.setTabSize(30);
textarea.setDragEnabled(true);
textarea.setFont(newFont("宋体",4,30));
textarea.requestFocus();
textarea.setTransferHandler(newTransferHandler("text"));
textarea.getDocument().addUndoableEditListener(undoHandler);//添加负责通知任何更改的撤消侦听器
textarea.getDocument().addDocumentListener(this);//添加负责通知任何更改的文档侦听器
oldValue=textarea.getText();//获取原文本编辑区的内容
/*
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exceptione){
}*/
//设置快捷键,其中复制、粘贴、剪贴不用设置快捷键,因为重写了Jtextarea的这些方法,
item1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
item3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
item6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));item8.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
item9.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
item10.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
item11.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
item12.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
item13.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
item14.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));
item15.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,InputEvent.CTRL_MASK));
item16.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
item17.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
item18.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));
item25.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,0));
JMenuBarmenubar1=newJMenuBar();
JScrollPanescrollPane=newJScrollPane(textarea);
setLayout(newBorderLayout());
IconnewIcon=newImageIcon("Icons/new.gif");
IconopenIcon=newImageIcon("Icons/open.gif");
IconsaveIcon=newImageIcon("Icons/save.gif");
IconsaveAsIcon=newImageIcon("Icons/saveas.gif");
IconprintIcon=newImageIcon("Icons/print.gif");
IconundoIcon=newImageIcon("Icons/undo.gif");
IconcutIcon=newImageIcon("Icons/cut.gif");
IconcopyIcon=new
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 记事本 支持 文件 自动 保存