Swing里面的文本输入组件有很多, 如JTextField, JTextArea, JTextPane, JEditorane,这些组件的功能确实是非常的强大,但在实际项目中使用的时候,方觉得它们的功能还远远不能满足我们的需求。
最近看了Swing文本输入组件的源代码,感受颇深,要说起它们的实现方式,真可谓一个"妙"字,我自己也是被这种设计模式深深地吸引住,按捺不住想写一个Java代码编辑器来深入学习一下Swing的文本组件以及它们的设计模式。
Swing的文本编辑器都是继承自JTextComponent,JTextComponent类提供了很多操作文本的基本方法,但是作为一个代码编辑器,要支持不同颜色显示的语法高亮和定制格式等功能,而这些功能在JEditorPane似乎已经有了它们雏形,因此,我们的编辑器应该是站在JEditorPane这个巨人的肩上来实现JavaCodeEditor,将JTextComponent作为它的"爷爷"
在查看本系列文档之前,请先熟悉一下Swing文本组件相关的各个类,我也只是做一个学习总结,希望可以抛砖引玉。