java实现代码高亮_Swing实现Java代码编辑器实现关键词高亮显示

本文介绍如何在Java Swing中实现代码编辑器的语法高亮显示。通过覆盖JEditorPane的createDefaultEditorKit()方法,使用StyledEditorKit并定制ViewFactory和View,特别是JavaEditorView类,来处理类名、运算符、数字和关键字等的高亮显示。
摘要由CSDN通过智能技术生成

本文主要记录怎么给代码编辑器实际语法高亮显示的功能,先来张效果图吧:

f46fee70-2fd9-392c-8291-fed4ee35ccee.gif

当JEditorPane被创建时,它会把createDefaultEditorKit()方法(javax.swing.text.EditorKit的子类对象)的返回值作为默认的编辑器工具包,然后将文本的编辑与显示工作交给这个工具包。其原型为:

Java代码

protectedEditorKit createDefaultEditorKit()

{

returnnewPlainEditorKit();

}

protected EditorKit createDefaultEditorKit()

{

return new PlainEditorKit();

}

这个方法默认是返回一个PlainEditorKit对象,也就是一个纯文本的编辑器工具包,所以JEditorPane默认并没有格式化与彩色显示等功

能,看来我们先要定制一个支持彩色显示的EditorKit,然后把它作为createDefaultEditorKit()的返回值。

EditorKit

基本上什么也没有做,只是提供了很多抽象方法给它的子类去实现,Swing默认已经给它添加了一个子类DefaultEditorKit(Swing常用

的一招,就是给抽象类前面加个Default进行最基本的实现),既然是Default,那它所提供的功能肯定和一个记事本没有多大区别,这要是继承下

来,有多少方法需要覆盖啊,别慌,查看一下Swing的源码,你会发现Swing还提供了一个继承自DefaultEditorKit的类

StyledEditorKit,顾名思义,这个类肯定为我们提供了很多支持格式化显示的方法,又是一个巨人,快,赶紧拉过来往肩上爬。

接下来就是覆盖Styl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值