import *;import *;import *;import *;import *; //Date neededimport PrintWriter;public class NotePad extends JFrame{ JTextArea jta; class newl implements ActionListener { public void actionPerformed(ActionEvent e) { setText(""); } } class openl implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser jf=new JFileChooser(); showOpenDialog(NotePhis); } } //保存文件的监听 class savel implements ActionListener { public void actionPerformed(ActionEvent e) { JFileChooser jf = new JFileChooser(); showSaveDialog(NotePhis); } } //打印的监听 ? class printl implements ActionListener { public void actionPerformed(ActionEvent e) { // PrintWriter p = new PrintWriter(NotePhis); } } //退出记事本的监听 class exitl implements ActionListener { public void actionPerformed(ActionEvent e) { Sxit(0);//退出 } } //拷贝的监听 class copyl implements ActionListener { public void actionPerformed(ActionEvent e) { py(); } } //粘贴的监听 class pastel implements ActionListener { public void actionPerformed(ActionEvent e) { paste(); } } //剪切的监听 class cutl implements ActionListener { public void actionPerformed(ActionEvent e) { ut(); } } //查找的监听 //添加日期的监听 class datel implements ActionListener { public void actionPerformed(ActionEvent e) { Date d=new Date(); append(String()); } }//构造函数 public NotePad() { jta=new JTextArea("",24,40); JScrollPane jsp=new JScrollPane(jta); JMenuBar jmb=new JMenuBar(); JMenu mFile=new JMenu("File"); JMenu mEdit=new JMenu("Edit"); JMenuItem mNew=new JMenuItem("New",KeyEVK_N); mNaddActionListener(new newl()); mFadd(mNew); JMenuItem mOpen=new JMenuItem("Open",KeyEVK_O); mOaddActionListener(new openl()); mFadd(mOpen); JMenuItem mSave=new JMenuItem("Save"); mSaddActionListener(new savel()); mFadd(mSave); mFaddSeparator(); //添加分割线 JMenuItem mPrint = new JMenuItem("Print"); mPaddActionListener(new printl()); mFadd(mPrint); mFaddSeparator(); //添加分割线 JMenuItem mExit=new JMenuItem("Exit"); mEaddActionListener(new exitl()); mFadd(mExit); mFsetMnemonic(KeyEVK_F); //编辑菜单的子菜单的处理 JMenuItem jmi; jmi=new JMenuItem("Copy"); addActionListener(new copyl()); mEadd(jmi); jmi=new JMenuItem("Cut"); addActionListener(new cutl()); mEadd(jmi); jmi=new JMenuItem("Paste"); addActionListener(new pastel()); mEadd(jmi); mEaddSeparator(); //添加分割线 jmi=new JMenuItem("Find"); mEadd(jmi); jmi=new JMenuItem("FindNext"); mEadd(jmi); mEaddSeparator(); jmi=new JMenuItem("Select All"); mEadd(jmi); jmi=new JMenuItem("Date/Time"); addActionListener(new datel()); mEadd(jmi); add(mFile); add(mEdit); setJMenuBar(jmb); ContentPane()add(jsp); setSize(200,200); setVisible(true); } //主函数,程序入口点 public static void main(String s[]) { new NotePad(); } }
这个庞大的程序,这里是求不到的,你还还是请教认识的高手或者老师吧
没懂这个可以用for循环做加连表或者数组做可以用cstring替换功能或者用STD::STRING的替换功能也和3一样
首先,打开你的开发工具Microsoft visual studio 2005。文件——》新建项目——》项目类型选择visualc#,模板选择windows 应用程序,到此我们已经创建好一个window窗体了!接着修改窗体的属性,窗体名字修改为EditorForm,窗体的text属性修改为你要的命名。在工具箱了选择MenuStrip控件如图,把菜单拖到窗体去!然后选择插入标准项插入完菜单之后,再从工具箱里拖一个RichTextBox到菜单下面,然后选择停靠父容器,最后一个简单的编辑器的界面出来了!如图:-----------------------------------------------------------------------------------------------------------------------------------------好了,界面我们已经设计好了,现在我们来实现功能了!首先从工具箱里面拖一个叫做openFileDialog的控件,这是一个用于打开文件的对话框来的,把这个拖到窗体,然后点击一下OpenFileDialog选定此控件,设置Filter属性默认文本(*xt)|*xt|富文本文件(*f)|*f 。当然以后功能扩充后,可以打开别的文件,例如设置Filter的属性为括号里的(数据库文件(*dat)|*dat|图像文件(*jpg;*bmp;*gif)|*jpg;*bmp;*gif|文本文件(*xt)|*xt|所有文件(**)|**)。(注意,次数是用于打开文件对话框对要打开的文件进行筛选的,我们这里只是做简单的文本编译器,所以支持的格式分别是xt 和f格式的文本),最后双击菜单的打开菜单出现private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){//确定用户选择了文件if (penFileDShowDialog() == DialogROK){//得到用户选择的文件路径和文件名path = penFileDFileName;//读取文件内容LoadFile();}}private void LoadFile(){if (penFileDFilterIndex == 1){//纯文本文件ichTextBLoadFile(path, RichTextBoxStreamTPlainText);}if (penFileDFilterIndex == 2){ichTextBLoadFile(path, RichTextBoxStreamTRichText);}}我们要在里面写代码实现把PC机上的文件打开到我们的编辑器中进行简单的文字编译了,但是在写代码前,我们要定义一个全局变量,用于记录是否文件是新建的,还是打开来编辑的,我们要把这个变量定义为 string path = null ;附上所有代码using System;using SCGeneric;using SComponentModel;using SData;using SDrawing;using SText;using SWForms;namespace SimpleEditor{public partial class EditorForm : Form{string path = null;string isSaved = "n";int initLenglt = 0;public EditorForm(string path){path = path;InitializeComponent();}private void 新建NToolStripMenuItem_Click(object sender, EventArgs e){if (ichTextBTextLength > 0 && (isSEquals("n"))){if (MessageBShow("文件没有保存是否新建文件?", "提示", MessageBoxBYesNo, MessageBoxIWarning) == DialogRYes){ichTextBClear();Text = "简单的编辑器";initLenglt = richTextBTextLength;}}else{ichTextBClear();Text = "简单的编辑器";initLenglt = richTextBTextLength;}}private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){//确定用户选择了文件if (penFileDShowDialog() == DialogROK){//得到用户选择的文件路径和文件名path = penFileDFileName;//读取文件内容OpenFile();}}private void OpenFile(){try{string extName = Substring(LastIndexOf(""));if (extNToLower()Equals("xt")){//纯文本文件ichTextBLoadFile(path, RichTextBoxStreamTPlainText);}if (extNToLower()Equals("f")){ichTextBLoadFile(path, RichTextBoxStreamTRichText);}Text = "文本编辑器" + path;isSaved = "y";}catch (Exception ex){MessageBShow("请选择合适文件,打开失败");}}private void 保存SToolStripMenuItem_Click(object sender, EventArgs e){if(IsNullOrEmpty(path)){saveFileDTitle = "保存为";if (saveFileDShowDialog() == DialogROK){path = saveFileDFileName;SaveFile();}}else{string extNanme=Substring(LastIndexOf(""));if (extNToLower()Equals("xt")){ichTextBSaveFile(path, RichTextBoxStreamTPlainText);}if(extNToLower()Equals("f")){ichTextBSaveFile(path, RichTextBoxStreamTRichText);}}initLenglt = richTextBTextLength;}private void SaveFile(){try{if (saveFileDFilterIndex == 1){//纯文本文件ichTextBSaveFile(path, RichTextBoxStreamTPlainText);}if (saveFileDFilterIndex == 2){ichTextBSaveFile(path, RichTextBoxStreamTRichText);}Text = "文本编辑器" + path;initLenglt = richTextBTextLength;isSaved = "y";}catch (Exception ex){ }}private void 另存为AToolStripMenuItem_Click(object sender, EventArgs e){if (saveFileDShowDialog() == DialogROK){path = saveFileDFileName;SaveFile();}}private void EditorForm_Load(object sender, EventArgs e){剪切TToolStripMenuIEnabled = false;复制CToolStripMenuIEnabled = false;if(!IsNullOrEmpty(path)){OpenFile();}}private void 字体ToolStripMenuItem_Click(object sender, EventArgs e){try{string extName = Substring(LastIndexOf(""));if (extNToLower()Equals("xt")){SettxtFont();}if (extNToLower()Equals("f")){SetRichtextFont();}}catch(Exception ex){}}private void SettxtFont(){if (fontDShowDialog() == DialogROK){Font font = fontDFont;ichTextBFont = font;}}private void SetRichtextFont(){if (fontDShowDialog() == DialogROK){Font font = fontDFont;ichTextBSelectionFont = font;}}private void 字体颜色ToolStripMenuItem_Click(object sender, EventArgs e){string extName = Substring(LastIndexOf(""));if (extNToLower()Equals("f")){if (lorDShowDialog() == DialogROK){Color color = lorDColor;ichTextBSelectionColor = color;}}}private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e){if(richTextBSelectionLength>0){ichTextBCut();}}private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e){ichTextBPaste();}private void 复制CToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBSelectionLength > 0){ichTextBCopy();}}private void richTextBox1_SelectionChanged(object sender, EventArgs e){if (richTextBSelectionLength > 0){剪切TToolStripMenuIEnabled = true;复制CToolStripMenuIEnabled = true;}else{剪切TToolStripMenuIEnabled = false;复制CToolStripMenuIEnabled = false;}}private void 编辑EToolStripMenuItem_Click(object sender, EventArgs e){}private void 全选AToolStripMenuItem_Click(object sender, EventArgs e){ichTextBSelectedTToString();}private void 退出XToolStripMenuItem_Click(object sender, EventArgs e){Close();}private void EditorForm_FormClosing(object sender, FormClosingEventArgs e){if (ichTextBTextLength > initLenglt){ if (MessageBShow("文件没有保存是否退出?", "提示", MessageBoxBYesNo, MessageBoxIWarning) == DialogRNo){Cancel = true;}}}private void 关于AToolStripMenuItem_Click(object sender, EventArgs e){AboutBox aboutbox = new AboutBox();ShowDialog();}private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e){ichTextBUndo();}}}
Cpp:This is a try out codeintmain(){return0;}
一个小的文本编辑器:import ActionListener;import EventListener;import *;import *;import *;import *;import *;import *;public class MiniEdit extends JFrame implements ActionListener { /** * Method main * * * @param args * */ MenuBar menuBar = new MenuBar(); Menu file = new Menu("File"), edit = new Menu("Edit"), help = new Menu("Help"); MenuItem[] menuItem ={ new MenuItem("New"), new MenuItem("Open"), new MenuItem("Save"), new MenuItem("Exit"), new MenuItem("Select All"), new MenuItem("Copy"), new MenuItem("Cut"), new MenuItem("Paste"), new MenuItem("Help") }; TextArea textArea = new TextArea(); String fileName = "NoName"; Toolkit toolKit = TDefaultToolkit(); Clipboard clipboard = toolKSystemClipboard(); //opne and close message dialogs private FileDialog openFileDialog = new FileDialog(this,"Open File",FileDLOAD); private FileDialog saveFileDialog = new FileDialog(this,"Save File",FileDSAVE); public static void main(String[] args) { // TODO: Add your code here MiniEdit MyEdit = new MiniEdit(); MyEshow(); } /** * Method MiniEdit * * */ public MiniEdit() { // TODO: Add your code here setTitle("MiniEdit"); setFont(new Font("Times New Roman",FPLAIN,15)); setBackground(Cblue); setSize(500,500); setMenuBar(menuBar); menuBadd(file); menuBadd(edit); menuBadd(help); for(int i=0;i<4;i++) { add(menuItem[i]); add(menuItem[i+4]); } add(menuItem[8]); add(textArea); addWindowListener(new WindowAdapter(){//关闭窗口的事件监听 public void windowClosing(WindowEvent e){ Window()dispose(); Sxit(0); } }); //add actionListener for(int i=0;i 安装VC++,安装完成后选择File|New命令,打开New对话框。选择Project选项卡,其中选择MFCAppWizard(exe)选项,在Projectname里输入项目名,Location里输入保存路径。选择OK按钮,之后第一步选择SingDocument或MultiDocument,然后选择Next按钮到最后一步,选择Finish,直接按f5编译,窗体记事本就出来了。 如果你是想要在电脑上面编辑文本的话,其实有很多种方式可以进行编辑文本,你可以创建一个文本文档进行编辑,也可以用windows的那个伴侣软件的那个word来编辑文本文档也可以的。 Star Editor可以卸载,它是一款很好的代码文本编辑器,完全免费、界面美观、功能实用、可以对20种脚本语法高亮,可以对C#代码自动完成,可以用鼠标滚轮+Ctrl键进行文本大小调整,可以对编程语言进行代码折叠。 akelpad 是一款快捷免费且文件小巧的文本编辑软件。具有单窗口单页面和单窗口多页面两种模式,可编辑超过64k限制的文件。支持unicode 字符。支持系统已安装的任意代码页,可预览打开的文件,多次撤消,记忆搜索替换设置,支持插件等功能。是一款不错的“记事本”替代工具。 推荐几款程序员常用的编程软件作为一个程序员,日常的开发工作绝对离不开代码编辑器,不管是前端还是后台,下面我介绍几款常用的代码编辑器,感兴趣的话,可以尝试一下(排名不分前后):Notepad++:相信大部分开发人员都听说或使用过这个代码编辑器,记事本的增强版,免费开源、小巧灵活、使用方便,支持常见的自动补全、语法提示、代码高亮,可编辑语言多达27种,常见的html,css,javascript,java,python,c++等,都可直接编辑,是一款非常不错的代码编辑器:EditPlus:这也是一款小巧灵活的代码编辑器,功能类似于Notepad++,拥有强大的文本处理功能,界面简洁美观,启动速度较快,支持常见的语法高亮、代码折叠等功能,还可直接编辑运行html网页,可扩展性也比较强,唯一的不足就是不支持代码提示功能,自动补全功能相对较弱,但总体来说,也是一个非常不错的代码编辑器:VSCode:这是由微软开发研制的一款免费、开源、跨平台的代码编辑器,支持几乎所有主流语言开发,常见的语法高亮、智能补全、语法检查、括号匹配,这个软件都支持,除此之外,还支持git功能,插件扩展丰富,下载配置相关插件后,可直接调试、运行python,java,c++等程序,在业界是一个非常受欢迎的代码编辑器:Atom:这个是由GitHub专门为广大程序员开发的一款免费、跨平台的代码编辑器,用于强大的文本编辑处理功能,常见的语法提示、代码高亮、智能补全,这个软件都能很好的支持,界面简洁、直观,还支持宏和文件管理器功能,对于初学者来说,是一个非常不错的选择:Sublime Text:这也是一个非常不错的代码编辑器,小巧灵活、轻便快捷、界面友好,相信大部分开发人员都使用过,常见的代码高显亮、智能补全等功能,这个软件都能很好的支持,除此之外,插件扩展机制也相对丰富,配置相关文件后,可以直接调试运行python等程序,也是一个非常不错的代码编辑器,值得一试:目前,就介绍这5款代码编辑器吧,相信,对于大部分日常开发工作来说,完全够用了,当然,你也可以使用对应的IDE来完成相关工作,像Eclipse,VS等都可以,感兴趣的话,可以到网上搜一下相关资料和教程,很多,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。 Pick文本编辑器UltraeditUltraEdit是一个功能强大的基于磁盘的文本编辑器,程序员的编辑器和十六进制编辑器,可用于编辑HTML,PHP,JavaScript,Perl,C / C ++,Python和几乎任何其他编码/编程语言。UltraEdit可以处理和编辑超过4 GB的文件。 vim啊, emacs啊都很好的 图形界面的就gedit什么的也不赖 最轻量级的文本编辑器应该是系统自带的。但功能简陋些 Python文本编辑器就是能够用来编辑Python代码的文本编辑器。在Python的交互式命令行写程序,优点是一下就能得到结果,而坏处就是没办法保存,如果下次想要继续运行的话,需要再次敲打一遍。所以实际的开发过程中,我们总是使用一个本文编辑器来编写代码,写完之后将它保存为一个文件,这样程序就可以反复使用了。Python常见文本编辑器推荐:第一个是sublime Text,免费使用,但是不付费会弹出提示框,且需要每次手动保存文件,汉化或热更需要下载插件才可以;第二个是Notepad++,免费使用,有中文界面;当然你也可以使用webstorm,可以自动保存文件,但是占用内存比较大。文本编辑器实现
代码文本编辑器
文本代码编辑器