1.如何编辑网页代码如何编辑网页代码格式
2.常用源代码编辑器有哪些?
3.c编程软件手机版怎么用c语言在手机上做编程
4.软件程序怎么编写
5.使ç¨javaå¼å代ç ç¼è¾å¨(使ç¨javaå¼å代ç ç¼è¾å¨ç好å¤)
6.代码编辑器有什么用
如何编辑网页代码如何编辑网页代码格式
g编写加工程序代码编辑器如何编辑下面的源码程序要想正确使用G和G指令,除了按照规定的编辑编程格式编写程序外,还要特别注意以下几点:(1)编程时,器程ns→nf程序段必须紧跟G程序段。序设如果写在G程序段前面,计教数控系统会自动搜索ns→nf程序段并执行。源码人脸矫正matlab源码执行完成后,编辑按顺序。器程如何生成自己网站的序设代码?
方法/步骤
选择一个html网页文件,选择打开方式——选择默认程序——浏览。计教
点击浏览后,源码在c盘中搜索“c:windowsnotepad.exe”,编辑点击记事本notepad.exe程序,器程打开就可以了。序设
设置好之后,计教html文件的打开方式里就有记事本程序了,然后就可以用记事本程序打开或者修改html网页文件了。
页面代码怎么设置?
1、添加页码
点击插入-页眉页脚-页码,其中选择一种页码插入格式,这里选择的是页面底端插入页码,再选择插入的页码格式即可。
2、修改页码格式
通常插入的是数字类型的页码格式,可以修改为其他格式页码。
双击进入页脚进入编辑状态,单击菜单栏上最右侧的设计,再点击页码-设置页码格式,在页面上的页面编码格式修改为需要的样式,点击确定即可。
3、更改起始页码位置
双击进入页面编辑状态,点击设计-页码-设置页码格式,在页面上点击起始页码,在后面输入对应页码即可。
4、在右侧设置页码
先双击进入页脚编辑状态,点击插入-文本-文本框-绘制文本,在右侧绘制出文本框,接着再次点击插入-页眉和页脚-页码-在当前位置插入页码。
这时候会有文本的边框,再次进入编辑页脚编辑状态,点击文本框下的springmvc源码实战格式,颜色填充设置为无颜色,形状设置为无轮廓,确定即可。
5、设置奇偶页
进入页脚编辑状态,接着点击设计,选项-勾选奇偶页不同,然后点击插入页码即可。
怎样修改网页源代码?
这个好办,在你需要修改的网页文件上右击,打开方式,记事本。打开修改后,在记事本保存,请把文件名的后面加上.html。比如我的网页.html然后在保存类型中选所有文件,以后保存,就行了!纯手打,给点分吧!不懂可问我,我是网页设计师。
常用源代码编辑器有哪些?
在编程世界中,你是否在寻找一款高效的源代码编辑器?让我们一起来探索那些备受开发者青睐的工具: Emacs,这位跨平台的编程老将,无论是Unix、Linux、Mac OS X还是Windows,它都能轻松驾驭,提供强大的定制化功能,满足各类开发者的不同需求。 Geany,同样跨平台,不论是Unix、Linux还是Mac OS X和Windows,其简洁易用的界面和轻量级设计,使得它成为初学者和轻量级项目的理想选择。 Gedit,专为Linux和Mac OS X用户设计,与Windows用户无缘,但其直观的界面和稳定性能,深受Linux用户喜爱。社群管理源码 IntelliJ IDEA的内置编辑器,为Windows、Linux和Mac OS X用户带来了卓越的代码智能提示和项目管理功能,是Java和相关语言开发者的首选。 Microsoft Visual Studio的内置编辑器,专为Windows打造,以其强大的IDE能力和对.NET生态的深度集成,成为C#和相关技术的开发利器。 NetBeans,尽管也曾风靡一时,但如今它的身影在众多竞争对手中可能略显低调,但仍不失为Java开发的稳健伙伴。 Notepad++,专为Windows设计,其轻巧的体积和强大的文本编辑能力,是处理简单文本和快速原型开发的理想工具。 Sublime Text,跨平台的宝藏,无论你是Linux、Mac OS X还是Windows用户,它那流畅的操作和丰富的插件库,让编程如丝般顺滑。 TextMate,Mac OS X的专属瑰宝,专为Apple的开发者社区打造,提供了高度定制化的文本编辑体验。 vi/Vim,跨平台的高效编辑器,以其强大的命令行操作和学习曲线,深受程序员推崇,是代码高手的不二之选。 PNEdit,专为Unix和Linux设计,其强大的文本处理和自动化功能,是高级开发人员解决复杂任务的得力助手。 而近年来崭露头角的Visual Studio Code,凭借其跨平台的兼容性,强大的代码扩展支持,以及对多种语言的深度集成,已经成为众多开发者的首选。 以上这些编辑器各有所长,选择哪款取决于你的ssc论坛源码具体需求和开发环境。无论是新手还是老手,总有一款适合你,让你在代码的世界里游刃有余。c编程软件手机版怎么用c语言在手机上做编程
⑴ 怎么用c语言在手机上做编程可以使用c4droid软件进行编程。
解决这个问题的方法如下:
1、首先在手机浏览器中搜索c4droid软件。
⑵ 有没有手机可以运行的编程c语言的软件
手机上运行C语言的软件有誉橘:
1、C4droid
2、橘绝AIDE
以上两款软件可以在手机上编写运行圆虚姿C语言。
⑶ c语言编辑器怎么用手机版
如何在手机上编写c程序?
ZZ次浏览..
如何在手机上编写c程序?今天小编为大家讲解一下。
开启分步阅读模式
操作方法
打开手机,找到应用商店,点击并进入,如图所示。
进入之后,搜索“C语言编译器”,将其下载安装到手机上面,如图所示。
下载好之后,打开“C语言编译器”,如图所示。
进入之后,即可对C语言进行编译,如图所示。
特别提示
以上纯属个人编写,请勿转载抄袭。
本页搜狗指南内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。
0无帮助
查看全文
大家还在搜
plc编程必背个程序
初学编程个代码大全
手机编写电子文档
手机编写合同软件
编写c程序的软件
手机编写c语言的软件
c程序设计实验报告
c语言流程图生成器旁悔手机版
c语言编程器手机版
c程序设计知识点
c程序设计教材电子版
手机编写文档的软件
安卓c语言编译器
c程序设计电子书
手机编写电子表格
如何编写c语言程序
手机上怎么编程c语言
编写c语言的工具软件
如何在手机上编程并运行
c语言必背个经典程序
手机如何编写c语言
手机怎么写c语言代码
编辑c程序是指
怎样编写c语言程序
创建c程序的步骤
c程序实例
c语言编译器手机版
c程序设计语言电子版
怎么在手机上编写c语言
编写程序新手教程
手机上怎么编程c语言
编写c语言的工具软件
如何在手机上编程并运行
c语言必背个经典程序
手机如何编写c语言
手机怎么写c语言代码
编辑c程序是指
怎样编写c语言程序
创建c程序的步骤
c程序实信启耐例
c语言编译器手机版
c程序设计语言电子版
操作方法
/
操作方法
点击目录可快速跳转至页面对应位置
打开手机,找到应用商店,点击并进入,滑春如图所示。
进入之后,搜索“C语言编译器”,将其下载安装到手机上面,如图所示。
下载好之后,打开“C语言编译器”,如图所示。
进入之后,切线指标源码即可对C语言进行编译,如图所示。
指到就不难 · © SOGOU.COM
⑷ c语言用什么编程软件
"c语言用什么编程软件",哪些软件是我们想要的呢,下面深空小编就跟您推荐几款比较合适的软件或者app给您参考。
1. 啊哈c(c语言编程软件) 软件类型:电脑软件
软件介绍:
win-tc位电脑版本是一个十分_典的c语言编程手机软件,对程序编写开发设计有兴趣的小伙伴还可以采用此专用工具誉桐来学习培训一些基本的实际操作,简洁的页面会使你更非常容易弄清楚各类作用设定,实际操作起
3. C语言编程学习软件 软件类型:安卓APP
软件介绍:
C语言编程学习软件是一款专门的程序编写专业知识_容学习软件,在这儿聚集了c语言、库函数、练习题训练、源代码合辑和程序编写案例_容,随时随地协助客户学习程序编写知识要点,轻轻松松新手入门,合适编程爱好者
4. C语言编程软件(Cfree) 软件类型:电茄虚档脑软件
软件介绍:
c语言编颤乱程软件vc6.0中文精简版的关键特点就是其简约.高效率.灵便,并且很安全性,让大伙儿感觉安心,给予了建立运用程序的部件,那样,开发者无须从头开始设计方案建立和经营一个规范Windows运用程序
⑸ 有没有能直接在手机上面使用的编程软件(可以用手机编程的软件有哪些)
手机上的编程软件有c4droid、aide、CppDroid、QPython3、Termux。
相关介绍:
1、c4droid:
是款Android设备上的C/C程序IDE。默认以t(tinyccompiler)为编译器,可以选慧源择安装g插件(mb,只有root用户可以使用),选用g后,可以用sdl(简单直控媒体层库,需安装sdlpluginforc4droid)和qt(nokia官方开发库。
2、aide:
aide是一前枝态个Android/Java等集成开发环境,可以在Android手机上进行Android软件和游戏的开发,而无需借助PC端。不仅仅是一个编辑器,而是支持编写-编译-调试的IDE,开发人员可以在Android手机或者平板机上创建新的项目,借助功能丰富的编辑器进行代码编写。
3、CppDroid:
CppDroid和c4droid一样,是一款手机上的c语言编译器。安卓上的C/C编译环境,可以帮助你在手机上编写c/c程序,和c4droid各有优点,cppdroid最大的优点就是可以即时报错。
4、QPython3:
主要用来在手机上写python3代码,主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具。
5、Termux:
Termux是一个Android下一个高级的终端模拟器,开源且不需要root,支持apt管理软件包,十分方便安装搭伍软件包,完美支持Python、PHP、Ruby、Go,Nodejs、MySQL等。
⑹ 手机编程软件有哪些(手机编程软件有哪些)
主要分为C/C,Java,Python,前端网页,Linux这5个方面,感兴趣的朋友,可以下载尝试一下:
C/C
这里介绍一个软件—C编译器(c4droid),可以直接编辑运行C/C程序,代码高亮、语法检查,使用起来非常不错,下面我简单介绍一下这个软件的安装和使用:
安装C编译器,这个直接在手机应用中搜索就行,如下,大概也就2兆多,直接点击下载就行:
安装完成后,打开这个软件,就可以直接编写C/C代码了,如下,代码高亮,语法检查,还支持查找、定位行、格式化代码功能:
编辑完成后,直接点击“Run”,就能运行程序,效果如下:
Java
这里介绍一个软件—AIDE,可以直接编译运行Java代码,同时还可以编写简单的安卓程序,支持自动补全、代码高亮、语法提示等功能,使用起来也非常不错,下面我简单介绍一下这个软件的安装和使用:
下载AIDE,这个也直接在手机应该中搜索就行,如下,大概也就兆左右,直接点击下载安装就山肆禅行:
安装完成后,雹乱打开这个软件,就可以直接新建项目,编写Java代码了,如下,这里会自动进行语法检查和智能补全,使用起来非常方便:
点击运行这个程序,效果如下:
Python
这里介绍一个软件—QPython3,集成了Python3解释器,既可以命令行运行Python,还可以编辑源文件后运行,支持代码高亮、语法检查等功能,下面我简单介绍一下这个软件的安装和使用:
下载QPython3,这个与上面类似,直接在手机应用中搜索就行,如下,大概也就兆左右,直接点击下载安装就行:
下载完成后,我们就可以直接编写python程序了,如下,这里使用的是QEdit编辑器编写代码,你也可以使用Console控制台一行一行运行代码,都可以:
点击运行程序,效果如下,类似一个简单的安卓对话框:
前端网页
这里可以使用一个软件—w3cschool编程学院,类似一个编程资料库,提供的免费教程很多,其实不仅仅限于前端Html,CSS,Js等,还有Python,PHP,C等后端资料逗尘
⑺ c语言软件哪个好用
手机c语言编程app有《C语言学习宝典》、《C语言编译器》、《C语言编译器IDE》、《菜鸟学C语言》、《手机编程》。
1、《C语言学习宝典》
就算没有电脑也能够完成手机编程,专磨茄枣业客服在线帮你解答任何问题,超多趣味工具制作出简单的APP,来自各路的大神分享自己的原创教程,通俗易懂的教学案例让你一看就懂。
c语言编程介绍
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储纳返器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。软件程序怎么编写
如何编写电脑程序
1. 选择工具:准备一台电脑和Visual C++集成开发环境。具体步骤包括:打开软件,创建新工程,新建C++源文件,并在源文件中输入所需代码。之后,编译程序,点击软件右上角带有红色边框的按钮。
2. 选择编程语言:在开发计算机程序时,首先需选择合适的编程语言。常用的编程语言包括Java、Python、C++和JavaScript等,每种语言都有其优缺点。初学者可选择易于上手的Python。
3. 使用在线编辑器:网上有许多在线编辑器可供使用,例如CodePen、Repl.it等。这些工具无需在本地安装编译器,可直接在浏览器中使用,方便编写和运行程序。
程序编程的编写方法
1. 遵循步骤:在编程时,遵循良好的设计环境、编程习惯和风格至关重要。这不仅能使代码更易读、易修改,还能提高程序结构和执行效率。
2. 组织文件结构:在发布程序时,建议建立一个专门的文件夹来存储不同模块,便于代码重用和管理。
3. 掌握编程思想:成为一名优秀程序员的关键是掌握编程思想和找到编程感觉,而非单纯记忆语言本身。
软件开发流程
1. 概要设计:考虑软件系统的设计,包括基本处理流程、组织结构、模块划分等,为详细设计提供基础。
2. 开发准备:软件开发前需进行充分的前期准备,包括用户调研、需求分析和系统体系结构设计。
3. 开发人员角色:开发团队中应包括熟悉编程工具的编程人员、了解业务需求的业务需求人员以及负责整理文档的文档整理人员。
如何自己编写软件程序
1. 学习基础知识:掌握HTML、JavaScript和CSS等网页基础技术,可通过在线教程或书籍学习。
2. 获取编译器:使用TurboC、MSC或VC等编译器将C语言源代码转换为可执行的EXE文件。
3. 编码阶段:根据详细设计报告,开发者开始编写程序代码,实现各模块功能,满足软件的各项要求。
4. 开发步骤:明确需求、规划软件设计、编码、测试和维护。
5. 寻找灵感:确定感兴趣的软件类型,自学编程语言,寻找学习资源,参加培训课程,实践项目开发。
6. 基本操作:了解计算机语言和基本操作,利用开源软件进行程序组装。
开发软件的注意事项
1. 用户需求分析:在软件设计前,明确用户需求,为开发提供约束和指导。
2. 编码实践:了解开发语言和工具特性,遵循编程风格,选择合适的开发工具,确保软件产品质量。
3. 项目人员配置:APP开发需要考虑三个端(PC、Android、iOS)的开发人员,成本和工作量通常高于网站开发。
使ç¨javaå¼å代ç ç¼è¾å¨(使ç¨javaå¼å代ç ç¼è¾å¨ç好å¤)
javaç¼ç¨å¸¸ç¨ç软件æåªäº
æ³è¦å好Javaå¼åï¼æ²¡æ常ç¨çå¼åå·¥å ·å¯ä¸è¡ãèJavaåå¦è å¾å¾å¤äºå¯¹Javaè¿ä¸ç¥å解çç¶æï¼å¯¹äºJavaå¼åå·¥å ·çäºè§£ä¹ä¸ä¼å¤ªå¤ï¼å¸¸å¸¸ä¼ä¸ºäºæ¾å¼åå·¥å ·è浪费大éçæ¶é´ãç»å¤§å®¶ä»ç»ä¸Javaå¼åå·¥ç¨å¸å¸¸ç¨çå¼åå·¥å ·æåªäºã
第ä¸ä¸ªJava常ç¨çå¼åå·¥å ·ä¸ºJDKï¼ä¹å«Java软件å¼åå·¥å ·å ï¼æ¯ä¸ä¸ªç¼åJavaçAppletå°ç¨åºååºç¨ç¨åºçç¨åºå¼åç¯å¢ï¼JDKä¸è¿å æ¬äºJavaçå¼åç¯å¢ï¼æ以ä¸è½½äºJDKå°±å å«äºJavaå¼åç¯å¢ãèä¸JDKä¹æ以被å«åJava软件å¼åå·¥å ·å ï¼æ¯å 为å®å å«äºå ¶å®Javaå¼åå·¥å ·ï¼å¦ï¼ç¼è¯å·¥å ·(javac.exe)ãæå å·¥å ·(jar.exe)çã
第äºä¸ªæ¯JavaIDEï¼Eclipseï¼Eclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ãèä¸ç±äºå®çå¹³çåä¸è´æ§ï¼ä½¿å¾å ¶å®å¼åè¯è¨ä¹å¯ä»¥å¨eclipseä¸ä½¿ç¨ã
第ä¸ä¸ªæ¯notepad++ï¼notepad++æ¯ä¸ä¸ªç¼è¯å·¥å ·ï¼å®çä¼ç¹æ¯å³ä½¿ä½ ææ件å æäºï¼å¦æånotepad++ä¸æå¼è¿ï¼é£ä¹é£éå°±ä¼ä¿çï¼æ以对ä¸äºå®¹æ误å ç人æ¥è¯´æ¯è¾å好ï¼notepad++å¯ä»¥ç¨æ¥æ¿ä»£notepadã
第å个æ¯VisualStudioCodeï¼å®æ¯ä¸ä¸ªè¿è¡äºMacOSXãWindowsåLinuxä¹ä¸ç跨平å°æºä»£ç ç¼è¾å¨ãèä¸è¿ä¸ªç¼è¾å¨æ¯æå¤ç§è¯è¨åæ ¼å¼çç¼åã
以ä¸å°±æ¯æ¯è¾å¸¸ç¨ç4ç§Javaå¼åå·¥å ·ï¼Javaçåå¦è å¨å¯¹å¼åå·¥å ·ä¸äºè§£çæ åµä¸ï¼å¯ä»¥æ ¹æ®ä¸è¿°ä»ç»æ¥éæ©éåèªå·±çå¼åå·¥å ·ï¼è¿æ ·å¯ä»¥åå°èªå·±å°å¤æ¾å¼åå·¥å ·è¿å¯è½æ¾å°ä¸éåçæ浪费çæ¶é´ã
å¦ä½ç¨javaç¼åä¸ä¸ªç®åçææ¬ç¼è¾å¨ï¼
importjava.awt.*;\x0d\importjava.awt.event.*;\x0d\importjavax.swing.*;\x0d\importjava.io.*;\x0d\\x0d\publicclassf1extendsFrameimplementsActionListener\x0d\{ \x0d\privateMenuBarmenubar=newMenuBar();\x0d\privateMenufilemenu=newMenu("æ件");\x0d\privateMenueditmenu=newMenu("ç¼è¾");\x0d\privateMenuformmenu=newMenu("æ ¼å¼");\x0d\privateMenuItem[]itemf=newMenuItem[4];\x0d\privateMenuItem[]iteme=newMenuItem[6];\x0d\privateMenuItem[]items=newMenuItem[2];\x0d\privateTextAreatf=newTextArea();\x0d\\x0d\publicinta=0,b=0,c=0,style=Font.PLAIN,size=;\x0d\publicStrings1="red:"+a+""+"green:"+b+""+"blue"+c,\x0d\s2="å®ä½";\x0d\\x0d\publicString[]sz1={ "","","","","",""},\x0d\sz2={ "å®ä½","é»ä½","å¹¼å","é¶ä¹¦","è¡æ¥·","Arial","Georgia"},\x0d\sz3={ "ç²ä½","å¾æ","常è§","ç²æ"};\x0d\\x0d\JDialogdialog=newJDialog(this,"åä½",true);\x0d\Containercp=dialog.getContentPane();\x0d\JLabel[]lb=newJLabel[8];\x0d\JLabellb1=newJLabel(s1,JLabel.LEFT);\x0d\JButtonb1=newJButton("ç¡®å®"),\x0d\b2=newJButton("åæ¶");\x0d\JComboBoxjc1=newJComboBox(),\x0d\jc2=newJComboBox(),\x0d\jc3=newJComboBox();\x0d\JScrollBarjb1=newJScrollBar(JScrollBar.HORIZONTAL,,5,0,);\x0d\JScrollBarjb2=newJScrollBar(JScrollBar.HORIZONTAL,,5,0,);\x0d\JScrollBarjb3=newJScrollBar(JScrollBar.HORIZONTAL,,5,0,);
javaæºä»£ç ç¼è¾å¨è®¾è®¡ç¨äºç¼åJavaæºä»£ç çç¼è¾å¨ï¼åºæ¬è¦æ±ï¼å¯ä»¥å®ææºç¨åºçæ件æå¼ï¼ç¼è¾åæ件ä¿åä¸.é«äº®çå 容:
éè¦é«äº®çå 容æ:
1.å ³é®å,å¦public,int,trueç.
2.è¿ç®ç¬¦,å¦+,-,*,/ç
3.æ°å
4.é«äº®å符串,å¦"exampleofstring"
5.é«äº®åè¡æ³¨é
6.é«äº®å¤è¡æ³¨é
äº.å®ç°é«äº®çæ ¸å¿æ¹æ³:
StyledDocument.setCharacterAttributes(intoffset,intlength,AttributeSets,booleanreplace)
ä¸.ææ¬ç¼è¾å¨éæ©.
Javaä¸æä¾çå¤è¡ææ¬ç¼è¾å¨æ:JTextComponent,JTextArea,JTextPane,JEditorPaneç,é½å¯ä»¥ä½¿ç¨.ä½æ¯å 为è¯æ³çè²ä¸ææ¬è¦ä½¿ç¨å¤ç§é£æ ¼çæ ·å¼,æ以è¿äºææ¬ç¼è¾å¨çdocumentè¦ä½¿ç¨StyledDocument.
JTextArea使ç¨çæ¯PlainDocument,æ¤documentä¸è½è¿è¡å¤ç§æ ¼å¼ççè².
JTextPane,JEditorPane使ç¨çæ¯StyledDocument,é»è®¤å°±å¯ä»¥ä½¿ç¨.
为äºå®ç°è¯æ³çè²,å¯ä»¥ç»§æ¿èªDefaultStyledDocument,è®¾ç½®å ¶ä¸ºè¿äºææ¬ç¼è¾å¨çdocumet,æè ä¹å¯ä»¥ç´æ¥ä½¿ç¨JTextPane,JEditorPaneæ¥å.为äºæ¹ä¾¿,è¿éå°±ç´æ¥ä½¿ç¨JTextPaneäº.
å.ä½æ¶è¿è¡çè².
å½ææ¬ç¼è¾å¨ä¸æå符被æå ¥æè å é¤æ¶,ææ¬çå 容就åçäºåå,è¿æ¶æ£æ¥,è¿è¡çè².
为äºçè§å°ææ¬çå 容åçäºåå,è¦ç»documentæ·»å ä¸ä¸ªDocumentListenerçå¬å¨,å¨ä»çremoveUpdateåinsertUpdateä¸è¿è¡çè²å¤ç.
èchangedUpdateæ¹æ³å¨ææ¬çå±æ§ä¾å¦åæ¯è²,èæ¯è²,åä½çé£æ ¼æ¹åæ¶æä¼è¢«è°ç¨.
@Override
publicvoidchangedUpdate(DocumentEvente){
}
@Override
publicvoidinsertUpdate(DocumentEvente){
try{
colouring((StyledDocument)e.getDocument(),e.getOffset(),e.getLength());
}catch(BadLocationExceptione1){
e1.printStackTrace();
}
}
@Override
publicvoidremoveUpdate(DocumentEvente){
try{
//å 为å é¤åå æ ç´§æ¥çå½±åçåè¯ä¸¤è¾¹,æ以é¿åº¦å°±ä¸éè¦äº
colouring((StyledDocument)e.getDocument(),e.getOffset(),0);
}catch(BadLocationExceptione1){
e1.printStackTrace();
}
}
äº.çè²èå´:
pos:æåååå æ çä½ç½®.
len:æååçå符æ°.
ä¾å¦æå ³é®åpublic,int
åè¯"publicint",å¨"public"å"int"ä¸æå ¥ä¸ä¸ªç©ºæ ¼ååæ"publicint",ä¸ä¸ªåè¯åæäºä¸¤ä¸ª,è¿æ¶å¯¹"public"å"int"è¿è¡çè².
çè²èå´æ¯publicä¸pçä½ç½®åintä¸tçä½ç½®å 1,å³æ¯posåé¢åè¯å¼å§çä¸æ åpos+lenå¼å§åè¯ç»æçä¸æ .æ以ä¸ä¾ä¸è¦çè²çèå´æ¯"publicint".
æä¾äºæ¹æ³indexOfWordStartæ¥åå¾posååè¯å¼å§çä¸æ ,æ¹æ³indexOfWordEndæ¥åå¾posååè¯ç»æçä¸æ .
publicintindexOfWordStart(Documentdoc,intpos)throwsBadLocationException{
//ä»poså¼å§ååæ¾å°ç¬¬ä¸ä¸ªéåè¯å符.
for(;pos0isWordCharacter(doc,pos-1);--pos);
returnpos;
}
publicintindexOfWordEnd(Documentdoc,intpos)throwsBadLocationException{
//ä»poså¼å§ååæ¾å°ç¬¬ä¸ä¸ªéåè¯å符.
for(;isWordCharacter(doc,pos);++pos);
returnpos;
}
ä¸ä¸ªå符æ¯åè¯çææå符:æ¯åæ¯,æ°å,ä¸å线.
publicbooleanisWordCharacter(Documentdoc,intpos)throwsBadLocationException{
charch=getCharAt(doc,pos);//åå¾å¨ææ¡£ä¸posä½ç½®å¤çå符
if(Character.isLetter(ch)||Character.isDigit(ch)||ch=='_'){ returntrue;}
returnfalse;
}
æ以çè²çèå´æ¯[start,end]:
intstart=indexOfWordStart(doc,pos);
intend=indexOfWordEnd(doc,pos+len);
å .å ³é®åçè².
ä»çè²èå´çå¼å§ä¸æ èµ·è¿è¡å¤æ,å¦ææ¯ä»¥åæ¯å¼æè ä¸å线å¼å¤´,å说ææ¯åè¯,é£ä¹å åå¾è¿ä¸ªåè¯,å¦æè¿ä¸ªåè¯æ¯å ³é®å,å°±è¿è¡å ³é®åçè²,å¦æä¸æ¯,å°±è¿è¡æ®éççè².çè²å®è¿ä¸ªåè¯å,继ç»åé¢ççè²å¤ç.å·²ç»çè²è¿çå符,å°±ä¸åè¿è¡çè²äº.
publicvoidcolouring(StyledDocumentdoc,intpos,intlen)throwsBadLocationException{
//åå¾æå ¥æè å é¤åå½±åå°çåè¯.
//ä¾å¦"public"å¨båæå ¥ä¸ä¸ªç©ºæ ¼,å°±åæäº:"public",è¿æ¶å°±æ两个åè¯è¦å¤ç:"pub"å"lic"
//è¿æ¶è¦åå¾çèå´æ¯pubä¸påé¢çä½ç½®ålicä¸cåé¢çä½ç½®
intstart=indexOfWordStart(doc,pos);
intend=indexOfWordEnd(doc,pos+len);
charch;
while(startend){
ch=getCharAt(doc,start);
if(Character.isLetter(ch)||ch=='_'){
//å¦ææ¯ä»¥åæ¯æè ä¸å线å¼å¤´,说ææ¯åè¯
//pos为å¤çåçæåä¸ä¸ªä¸æ
start=colouringWord(doc,start);
}else{
//SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,normalStyle));
++start;
}
}
}
publicintcolouringWord(StyledDocumentdoc,intpos)throwsBadLocationException{
intwordEnd=indexOfWordEnd(doc,pos);
Stringword=doc.getText(pos,wordEnd-pos);//è¦è¿è¡çè²çåè¯
if(keywords.contains(word)){
//å¦ææ¯å ³é®å,å°±è¿è¡å ³é®åççè²,å¦å使ç¨æ®éççè².
//è¿éæä¸ç¹è¦æ³¨æ,å¨insertUpdateåremoveUpdateçæ¹æ³è°ç¨çè¿ç¨ä¸,ä¸è½ä¿®æ¹docçå±æ§.
//ä½æ们åè¦è¾¾å°è½å¤ä¿®æ¹docçå±æ§,æ以ææ¤ä»»å¡æ¾å°è¿ä¸ªæ¹æ³çå¤é¢å»æ§è¡.
//å®ç°è¿ä¸ç®ç,å¯ä»¥ä½¿ç¨æ°çº¿ç¨,ä½æ¾å°swingçäºä»¶éåéå»å¤çæ´è½»ä¾¿ä¸ç¹.
SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,keywordStyle));
}else{
SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,normalStyle));
}
returnwordEnd;
}
å 为å¨insertUpdateåremoveUpdateæ¹æ³ä¸ä¸è½ä¿®æ¹documentçå±æ§,æ以çè²çä»»å¡æ¾å°è¿ä¸¤ä¸ªæ¹æ³å¤é¢,æ以使ç¨äºSwingUtilities.invokeLateræ¥å®ç°.
privateclassColouringTaskimplementsRunnable{
privateStyledDocumentdoc;
privateStylestyle;
privateintpos;
privateintlen;
publicColouringTask(StyledDocumentdoc,intpos,intlen,Stylestyle){
this.doc=doc;
this.pos=pos;
this.len=len;
this.style=style;
}
publicvoidrun(){
try{
//è¿éå°±æ¯å¯¹å符è¿è¡çè²
doc.setCharacterAttributes(pos,len,style,true);
}catch(Exceptione){ }
}
}
ä¸:æºç
å ³é®åçè²çå®æ代ç å¦ä¸,å¯ä»¥ç´æ¥ç¼è¯è¿è¡.对äºæ°å,è¿ç®ç¬¦,å符串çççè²å¤çå¨ä»¥åçæç¨ä¸ä¼ç»§ç»è¿è¡è¯¦è§£.
importjava.awt.Color;
importjava.util.HashSet;
importjava.util.Set;
importjavax.swing.JFrame;
importjavax.swing.JTextPane;
importjavax.swing.SwingUtilities;
importjavax.swing.event.DocumentEvent;
importjavax.swing.event.DocumentListener;
importjavax.swing.text.BadLocationException;
importjavax.swing.text.Document;
importjavax.swing.text.Style;
importjavax.swing.text.StyleConstants;
importjavax.swing.text.StyledDocument;
publicclassHighlightKeywordsDemo{
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame();
JTextPaneeditor=newJTextPane();
editor.getDocument().addDocumentListener(newSyntaxHighlighter(editor));
frame.getContentPane().add(editor);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(,);
frame.setVisible(true);
}
}
/
***å½ææ¬è¾å ¥åºçæå符æå ¥æè å é¤æ¶,è¿è¡é«äº®.
*
*è¦è¿è¡è¯æ³é«äº®,ææ¬è¾å ¥ç»ä»¶çdocumentè¦æ¯styleddocumentæè¡.æ以ä¸è¦ç¨JTextArea.å¯ä»¥ä½¿ç¨JTextPane.
*
*@authorBiao
*
*/
classSyntaxHighlighterimplementsDocumentListener{
privateSetStringkeywords;
privateStylekeywordStyle;
privateStylenormalStyle;
publicSyntaxHighlighter(JTextPaneeditor){
//åå¤çè²ä½¿ç¨çæ ·å¼
keywordStyle=((StyledDocument)editor.getDocument()).addStyle("Keyword_Style",null);
normalStyle=((StyledDocument)editor.getDocument()).addStyle("Keyword_Style",null);
StyleConstants.setForeground(keywordStyle,Color.RED);
StyleConstants.setForeground(normalStyle,Color.BLACK);
//åå¤å ³é®å
keywords=newHashSetString();
keywords.add("public");
keywords.add("protected");
keywords.add("private");
keywords.add("_int9");
keywords.add("float");
keywords.add("double");
}
publicvoidcolouring(StyledDocumentdoc,intpos,intlen)throwsBadLocationException{
//åå¾æå ¥æè å é¤åå½±åå°çåè¯.
//ä¾å¦"public"å¨båæå ¥ä¸ä¸ªç©ºæ ¼,å°±åæäº:"public",è¿æ¶å°±æ两个åè¯è¦å¤ç:"pub"å"lic"
//è¿æ¶è¦åå¾çèå´æ¯pubä¸påé¢çä½ç½®ålicä¸cåé¢çä½ç½®
intstart=indexOfWordStart(doc,pos);
intend=indexOfWordEnd(doc,pos+len);
charch;
while(startend){
ch=getCharAt(doc,start);
if(Character.isLetter(ch)||ch=='_'){
//å¦ææ¯ä»¥åæ¯æè ä¸å线å¼å¤´,说ææ¯åè¯
//pos为å¤çåçæåä¸ä¸ªä¸æ
start=colouringWord(doc,start);
}else{
SwingUtilities.invokeLater(newColouringTask(doc,start,1,normalStyle));
++start;
}
}
}
/
***对åè¯è¿è¡çè²,并è¿ååè¯ç»æçä¸æ .
*
*@paramdoc
*@parampos
*@return
*@throwsBadLocationException
*/
publicintcolouringWord(StyledDocumentdoc,intpos)throwsBadLocationException{
intwordEnd=indexOfWordEnd(doc,pos);
Stringword=doc.getText(pos,wordEnd-pos);
if(keywords.contains(word)){
//å¦ææ¯å ³é®å,å°±è¿è¡å ³é®åççè²,å¦å使ç¨æ®éççè².
//è¿éæä¸ç¹è¦æ³¨æ,å¨insertUpdateåremoveUpdateçæ¹æ³è°ç¨çè¿ç¨ä¸,ä¸è½ä¿®æ¹docçå±æ§.
//ä½æ们åè¦è¾¾å°è½å¤ä¿®æ¹docçå±æ§,æ以ææ¤ä»»å¡æ¾å°è¿ä¸ªæ¹æ³çå¤é¢å»æ§è¡.
//å®ç°è¿ä¸ç®ç,å¯ä»¥ä½¿ç¨æ°çº¿ç¨,ä½æ¾å°swingçäºä»¶éåéå»å¤çæ´è½»ä¾¿ä¸ç¹.
SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,keywordStyle));
}else{
SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,normalStyle));
}
returnwordEnd;
}
/
**代码编辑器有什么用
代码编辑器就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,即通过编译器完成。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。