【Java精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Java精品源码-【精品】毕业设计JAVA记事本源代码 - 工程建设的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
//
JAVA 记事本源代码import
java.awt.import
java.awt.event.import
java.text.import
java.util.import
java.io.import javax.swing.undo.import javax.swing.import javax.swing.event.import
java.awt.datatransfer.import
java.util.Listpublic class Notepad4 extends JFrame implements ActionListener DocumentListener JMenu mFile mEdit mMode mView mHelp// ---------------文件菜单JMenuItem mFile_New mFile_Open mFile_Save mFile_ASave mFile_Print mFile_Exit// ---------------编辑菜单JMenuItem mEdit_Undo mEdit_Cut mEdit_Copy mEdit_Paste mEdit_Del mEdit_SearchmEdit_SearchNext mEdit_Replace mEdit_Turnto mEdit_SelectAll mEdit_TimeDate// ---------------格式菜单JCheckBoxMenuItem formatMenu_LineWrapJMenu formatMenu_ColorJMenuItem formatMenu_Font formatMenu_Color_FgColor formatMenu_Color_BgColor// ---------------查看菜单JCheckBoxMenuItem viewMenu_Status// ---------------帮助菜单JMenuItem mHelp_HelpTopics mHelp_About// ---------------弹出菜单级菜单项JPopupMenu popupMenuJMenuItem popupMenu_Undo popupMenu_Cut popupMenu_Copy popupMenu_PastepopupMenu_Delete popupMenu_SelectAll// ---------------工具栏按钮JButton newButton openButton saveButton saveAsButton printButton undoButtonredoButton cutButton copyButton pasteButton deleteButton searchButtontimeButton fontButton boldButtonitalicButton fgcolorButton bgcolorButton helpButton// 文本编辑区域static JTextArea Text// 状态栏标签JLabel statusLabel1 statusLabel2 statusLabel3JToolBar statusBar// ---------------系统剪贴板Toolkit toolKit Toolkit.getDefaultToolkitClipboard clipBoard toolKit.getSystemClipboard// ---------------创建撤消操作管理器protected UndoManager undo new UndoManagerprotected UndoableEditListener undoHandler new UndoHandler// ----------------其它变量boolean isNewFile true // 是否新文件未保存过的File currentFile // 当前文件名String oldValue // 存放编辑区原来的内容,用于比较文本是否有改动JButton fontOkButton // 字体设置里的quot确定quot按钮// ----------------设置编辑区默认字体protected Font defaultFont new Fontquot宋体quot Font.PLAIN 12GregorianCalendar time new GregorianCalendarint hour time.getCalendar.HOUR_OF_DAYint min time.getCalendar.MINUTEint second time.getCalendar.SECONDFile saveFileName null fileName nullpublic Notepad4 superquotVXBB 的记事本quotsetDefaultCloseOperationDO_NOTHING_ON_CLOSEContainer container getContentPane// System.out.printlnText.getDragEnabled //支持自动拖放JScrollPane scroll new JScrollPaneTextscroll.setHorizontalScrollBarPolicyJScrollPane.HORIZONTAL_SCROLLBAR_ALWAYSscroll.setVerticalScrollBarPolicyJScrollPane.VERTICAL_SCROLLBAR_ALWAYSText.setWrapStyleWordtrue // 设置单词在一行不足容纳时换行Text.setLineWraptrueText.setFontdefaultFont // 设置编辑区默认字体Text.setBackgroundColor.white // 设置编辑区默认背景色Text.setForegroundColor.black // 设置编辑区默认前景色oldValue Text.getText // 获取原文本编辑区的内容// --------------------------编辑区注册事件监听Text.getDocument.addUndoableEditListenerundoHandler // 添加负责通知任何更改的撤消侦听器Text.getDocument.addDocumentListenerthis // 添加负责通知任何更改的文档侦听器JMenuBar MenuBar new JMenuBarmFile new JMenuquot文件Fquot true // 创建菜单mEdit new JMenuquot编辑Equot truemMode new JMenuquot格式Oquot truemView new JMenuquot查看Vquot truemHelp new JMenuquot帮助Hquot truemEdit.addActionListenernew ActionListener // 注册事件监听public void actionPerformedActionEvent e checkMenuItemEnabled // 设置剪切、复制、粘贴、删除等功能的可用性mFile.setMnemonicFmEdit.setMnemonicEmMode.setMnemonicOmView.setMnemonicVmHelp.setMnemonicHMenuBar.addmFileMenuBar.addmEditMenuBar.addmModeMenuBar.addmViewMenuBar.addmHelp// --------------文件菜单mFile_New new JMenuItemquot新建Nquot NmFile_Open new JMenuItemquot打开Oquot OmFile_Save new JMenuItemquot保存Squot SmFile_ASave new JMenuItemquot另存为Aquot AmFile_Print new JMenuItemquot打印Pquot PmFile_Exit new JMenuItemquot退出Xquot XmFile_New.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_NInputEvent.CTRL_MASKmFile_Open.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_OInputEvent.CTRL_MASKmFile_Save.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_SInputEvent.CTRL_MASKmFile_Print.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_PInputEvent.CTRL_MASKmFile_New.addActionListenerthis // 注册事件监听mFile_Open.addActionListenerthismFile_Save.addActionListenerthismFile_ASave.addActionListenerthismFile_Print.addActionListenerthismFile_Exit.addActionListenerthismFile.addmFile_New // 添加菜单项mFile.addmFile_OpenmFile.addmFile_SavemFile.addmFile_ASavemFile.addSeparator // 添加分割线mFile.addmFile_PrintmFile.addSeparator // 添加分割线mFile.addmFile_Exit// --------------编辑菜单mEdit_Undo new JMenuItemquot撤消Uquot UmEdit_Cut new JMenuItemquot剪切Tquot TmEdit_Copy new JMenuItemquot复制Cquot CmEdit_Paste new JMenuItemquot粘贴Pquot PmEdit_Del new JMenuItemquot删除Lquot LmEdit_Search new JMenuItemquot查找Fquot FmEdit_SearchNext new JMenuItemquot查找下一个Nquot NmEdit_Replace new JMenuItemquot替换Rquot RmEdit_Turnto new JMenuItemquot转到Gquot GmEdit_SelectAll new JMenuItemquot全选Aquot AmEdit_TimeDate new JMenuItemquot时间/日期Dquot DmEdit_Cut.setEnabledfalsemEdit_Undo.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_ZInputEvent.CTRL_MASKmEdit_Cut.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_XInputEvent.CTRL_MASKmEdit_Copy.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_CInputEvent.CTRL_MASKmEdit_Paste.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_VInputEvent.CTRL_MASKmEdit_Del.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_DELETE 0mEdit_Search.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_FInputEvent.CTRL_MASKmEdit_SearchNext.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_F3 0mEdit_Replace.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_HInputEvent.CTRL_MASKmEdit_Turnto.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_GInputEvent.CTRL_MASKmEdit_SelectAll.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_AInputEvent.CTRL_MASKmEdit_TimeDate.setAcceleratorKeyStroke.getKeyStrokeKeyEvent.VK_F5 0mEdit_Undo.addActionListenerthis // 注册事件监听mEdit_Cut.addActionListenerthismEdit_Copy.addActionListenerthismEdit_Paste.addActionListenerthismEdit_Del.addActionListenerthismEdit_Search.addActionListenerthismEdit_SearchNext.addActionListenerthismEdit_Replace.addActionListenerthismEdit_Turnto.addActionListenerthismEdit_SelectAll.addActionListenerthismEdit_TimeDate.addActionListenerthismEdit.addmEdit_Undo // 添加菜单项mEdit.addSeparator // 添加分割线mEdit.addmEdit_CutmEdit.addmEdit_CopymEdit.addmEdit_PastemEdit.addmEdit_DelmEdit.addSeparatormEdit.addmEdit_SearchmEdit.addmEdit_SearchNextmEdit.addmEdit_ReplacemEdit.addmEdit_TurntomEdit.addSeparatormEdit.addmEdit_SelectAllmEdit.addmEdit_TimeDate// --------------格式菜单formatMenu_LineWrap new JCheckBoxMenuItemquot自动换行WquotformatMenu_LineWrap.setMnemonicWformatMenu_LineWrap.setStatetrueformatMenu_Font new JMenuItemquot字体Fquot FformatMenu_Color new JMenuquot颜色quotformatMenu_Color_FgColor new JMenuItemquot字体颜色quotformatMenu_Color_BgColor new JMenuItemquot背景颜色quotformatMenu_LineWrap.addActionListenerthis // 注册事件监听formatMenu_Font.addActionListenerthisformatMenu_Color_FgColor.addActionListenerthisformatMenu_Color_BgColor.addActionListenerthismMode.addformatMenu_LineWrap // 添加菜单项mMode.addSeparatormMode.addformatMenu_FontmMode.addformatMenu_ColorformatMenu_Color.addformatMenu_Color_FgColorformatMenu_Color.addformatMenu_Color_BgColor// --------------查看菜单viewMenu_Status new JCheckBoxMenuItemquot状态栏SquotviewMenu_Status.setMnemonicSviewMenu_Status.setStatetrueviewMenu_Status.addActionListenerthismView.addviewMenu_Status// --------------帮助菜单mHelp_HelpTopics new JMenuItemquot帮助Hquot HmHelp_About new JMenuItemquot关于Aquot AmHelp_HelpTopics.addActionListenerthismHelp_About.addActionListenerthismHelp.addmHelp_HelpTopicsmHelp.addSeparator // 添加分割线mHelp.addmHelp_About// -------------------创建右键弹出菜单popupMenu new JPopupMenupopupMenu_Undo new JMenuItemquot撤消Uquot UpopupMenu_Cut new JMenuItemquot剪切Tquot TpopupMenu_Copy new JMenuItemquot复制Cquot CpopupMenu_Paste new JMenuItemquot粘贴Pquot PpopupMenu_Delete new JMenuItemquot删除Dquot DpopupMenu_SelectAll new JMenuItemquot全选Aquot ApopupMenu_Undo.setEnabledfalse // 撤消选项初始设为不可用// ---------------向右键菜单添加菜单项和分隔符popupMenu.addpopupMenu_UndopopupMenu.addSeparatorpopupMenu.addpopupMenu_CutpopupMenu.addpopupMenu_CopypopupMenu.addpopupMenu_PastepopupMenu.addpopupMenu_DeletepopupMenu.addSeparatorpopupMenu.addpopupMenu_SelectAll// --------------------右键菜单注册事件popupMenu_Undo.addActionListenerthispopupMenu_Cut.addActionListenerthispopupMenu_Copy.addActionListenerthispopupMenu_Paste.addActionListenerthispopupMenu_Delete.addActionListenerthispopupMenu_SelectAll.addActionListenerthis// --------------------文本编辑区注册右键菜单事件Text.addMouseListenernew MouseAdapter public void mousePressedMouseEvent e checkForTriggerEventepublic void mouseReleasedMouseEvent e checkForTriggerEventeprivate void checkForTriggerEventMouseEvent e if e.isPopupTriggerpopupMenu.showe.getComponent e.getX e.getY// 在组件调用者的坐标空间中的位置// X、Y// 显示弹出菜单。
else statusLabel3.setTextquot当前光标所在行数: quot getlineNumbercheckMenuItemEnabled // 设置剪切、复制、粘贴、删除等功能的可用性Text.requestFocus // 编辑区获取焦点// ----------------------------创建工具栏JPanel toolBar new JPaneltoolBar.setLayoutnew FlowLayoutFlowLayout.LEFTIcon newIcon new ImageIconquotIcons/new.gifquotIcon openIcon new ImageIconquotIcons/open.gifquotIcon saveIcon new ImageIconquotIcons/save.gifquotIcon saveAsIcon new ImageIconquotIcons/saveas.gifquotIcon printIcon new ImageIconquotIcons/print.gifquotIcon undoIcon new ImageIconquotIcons/undo.gifquotIcon cutIcon new ImageIconquotIcons/cut.gifquotIcon copyIcon new ImageIconquotIcons/copy.gifquotIcon pasteIcon new ImageIconquotIcons/paste.gifquotIcon deleteIcon new ImageIconquotIcons/delete.gifquotIcon searchIcon new ImageIconquotIcons/search.gifquotIcon timeIcon new ImageIconquotIcons/time.gifquotIcon fontIcon new ImageIconquotIcons/font.gifquotIcon boldIcon new ImageIconquotIcons/bold.gifquotIcon italicIcon new ImageIconquotIcons/italic.gifquotIcon bgcolorIcon new ImageIconquotIcons/bgcolor.gifquotIcon fgcolorIcon new ImageIconquotIcons/fgcolor.gifquotIcon helpIcon new ImageIconquotIcons/help.gifquotnewButton new JButtonnewIconopenButton new JButtonopenIconsaveButton new JButtonsaveIconsaveAsButton new JButtonsaveAsIconprintButton new JButtonprintIconundoButton new JButtonundoIconundoButton.setEnabledfalsecutButton new JButtoncutIconcutButton.setEnabledfalsecopyButton new JButtoncopyIconcopyButton.setEnabledfalsepasteButton new JButtonpasteIconpasteButton.setEnabledfalsedeleteButton new JButtondeleteIcondeleteButton.setEnabledfalsesearchButton new JButtonsearchIcontimeButton new JButtontimeIconfontButton new JButtonfontIconboldButton new JButtonboldIconitalicButton new JButtonitalicIconfgcolorButton new JButtonfgcolorIconbgcolorButton new JButtonbgcolorIconhelpButton new JButtonhelpIconnewButton.setPreferredSizenew Dimension22 22openButton.setPreferredSizenew Dimension22 22saveButton.setPreferredSizenew Dimension22 22saveAsButton.setPreferredSizenew Dimension22 22printButton.setPreferredSizenew Dimension22 22undoButton.setPreferredSizenew Dimension22 22cutButton.setPreferredSizenew Dimension22 22copyButton.setPreferredSizenew Dimension22 22pasteButton.setPreferredSizenew Dimension22 22deleteButton.setPreferredSizenew Dimension22 22searchButton.setPreferredSizenew Dimension22 22timeButton.setPreferredSizenew Dimension22 22fontButton.setPreferredSizenew Dimension22 22boldButton.setPreferredSizenew Dimension22 22italicButton.setPreferredSizenew Dimension22 22fgcolorButton.setPreferredSizenew Dimension22 22bgcolorButton.setPreferredSizenew Dimension22 22helpButton.setPreferredSizenew Dimension22 22// -----------------------------------注册工具栏按钮事件newButton.addActionListenerthisopenButton.addActionListenerthissaveButton.addActionListenerthissaveAsButton.addActionListenerthisprintButton.addActionListenerthisundoButton.addActionListenerthiscutButton.addActionListenerthiscopyButton.addActionListenerthispasteButton.addActionListenerthisdeleteButton.addActionListenerthissearchButton.addActionListenerthistimeButton.addActionListenerthisfontButton.addActionListenerthisboldButton.addActionListenerthisitalicButton.addActionListenerthisfgcolorButton.addActionListenerthisbgcolorButton.addActionListenerthishelpButton.addActionListenerthis// ------------------------设置按钮提示文字newButton.setToolTipTextquot新建quotopenButton.setToolTipTextquot打开quotsaveButton.setToolTipTextquot保存quotsaveAsButton.setToolTipTextquot另存为quotprintButton.setToolTipTextquot打印quotundoButton.setToolTipTextquot撤消quotcutButton.setToolTipTextquot剪切quotcopyButton.setToolTipTextquot复制quotpasteButton.setToolTipTextquot粘贴quotdeleteButton.setToolTipTextquot删除所选quotsearchButton.setToolTipTextquot查找与替换quottimeButton.setToolTipTextquot插入时间/日期quotfontButton.setToolTipTextquot设置字体quotboldButton.setToolTipTextquot粗体quotitalicButton.setToolTipTextquot斜体quotfgcolorButton.setToolTipTextquot设置字体颜色quotbgcolorButton.setToolTipTextquot设置背景颜色quothelpButton.setToolTipTextquot帮助quot// 设置撤消、重做、剪切、复制、粘贴、删除等工具栏按钮不可用时的图片灰色undoButton.setDisabledIconnew ImageIconquotIcons/undo1.gifquotcutButton.setDisabledIconnew ImageIconquotIcons/cut1.gifquotcopyButton.setDisabledIconnew ImageIconquotIcons/copy1.gifquotpasteButton.setDisabledIconnew ImageIconquotIcons/paste1.gifquotdeleteButton.setDisabledIconnew ImageIconquotIcons/delete1.gifquot// ------------------------向工具栏添加按钮toolBar.addnewButtontoolBar.addopenButtontoolBar.addsaveButtontoolBar.addsaveAsButtontoolBar.addprintButtontoolBar.addundoButtontoolBar.addcutButtontoolBar.addcopyButtontoolBar.addpasteButtontoolBar.adddeleteButtontoolBar.addsearchButtontoolBar.addtimeButtontoolBar.addfontButtontoolBar.addboldButtontoolBar.additalicButtontoolBar.addfgcolorButtontoolBar.addbgcolorButtontoolBar.addhelpButton// --------------------------------------向容器添加工具栏container.addtoolBar BorderLayout.NORTH// -----------------------------------创建和添加状态栏statusBar new JToolBarstatusBar.setLayoutnew FlowLayoutFlowLayout.LEFTstatusLabel1 new JLabelquot按 F1 获取帮助 quotstatusLabel2 new JLabelquot 当前时间:quot hour quot:quot min quot:quot secondstatusLabel3 new JLabelquot 当前光标所在行数quot getlineNumberstatusBar.addstatusLabel1statusBar.addSeparatorstatusBar.addstatusLabel2statusBar.addSeparatorstatusBar.addstatusLabel3container.addstatusBar BorderLayout.SOUTHstatusBar.setVisibletrue// ------------------------------------改变标题栏窗口左侧默认图标Toolkit tk Toolkit.getDefaultToolkitImage image tk.createImagequotIcons/notepad.gifquotthis.setIconImageimagethis.setJMenuBarMenuBar // 向窗口添加菜单条container.addscroll BorderLayout.CENTER // 向容器添加文本编辑区this.packthis.setSize8.
上一篇:
【源代码】java邮件群发代码
下一篇:
4种小菜缓解孕妈咪不适