用Java设计源代码编辑器,设计问题:

用Java设计源代码编辑器,设计问题:,java,swing,jtextpane,Java,Swing,Jtextpane,作为个人项目/爱好,我开始用Java编写源代码编辑器。在我走上任何糟糕的道路之前,我想问几个问题: JTextPane是用于编辑文本的适当组件吗?就我所看到的示例而言,在大文件中设置文本样式可能会变得非常麻烦,甚至可能非常慢/内存效率低下,因为在设置样式时使用字符串数组,这可能会非常快地变得非常大。(注意:除了在编辑器中插入文本外,我还需要插入组件(如图像)的能力。我只在JTextPane中见过这种能力。) 在内部用XML/HTML标记文本,并使用像JPanel这样简单的东西来呈现文本,这会

作为个人项目/爱好,我开始用Java编写源代码编辑器。在我走上任何糟糕的道路之前,我想问几个问题:

  • JTextPane是用于编辑文本的适当组件吗?就我所看到的示例而言,在大文件中设置文本样式可能会变得非常麻烦,甚至可能非常慢/内存效率低下,因为在设置样式时使用字符串数组,这可能会非常快地变得非常大。(注意:除了在编辑器中插入文本外,我还需要插入组件(如图像)的能力。我只在JTextPane中见过这种能力。)

    • 在内部用XML/HTML标记文本,并使用像JPanel这样简单的东西来呈现文本,这会是一种计算/内存效率更高(尽管不那么简单)的方法吗
  • 将文件源加载到程序中时,更好的设计选择是加载整个文件,还是只加载正在查看的内容,再加上一个小到中等大小的缓冲区

  • 当我开始一个爱好的长途旅行时,任何其他的建议都将不胜感激


    • Q1:你试过了吗?这当然足够开始了,你会遇到其他问题。试着不要只围绕它来设计。i、 e.不要把自己安排在一个角落里,这样你可以在以后想切换的时候切换

      问题2:我对此表示怀疑

      问题3:将整个文件加载到内存中-手动操作。你的计算机有很多RAM,所以使用它吧


      问题4:尝试几种不同的快速原型。如果你不在几次失败的尝试上投入太多,并且在尝试的过程中你学到了很多东西,那就没有什么错。

      听起来像是一个有趣的项目。如果我是你,我会看看一些开源编辑器。外面应该有一些。。e、 您可以使用EclipseRCP作为基本框架,并且很多问题都得到了解决。这里有一个例子:Q1/Q2):我显然没有,否则我想我现在应该知道答案了!:我觉得这将是我将要实现的最初特性中最大的挑战,所以我更想问的是,我是否打算将自己编程到一个角落。有此组件和/或样式设计方法经验的人的回答在这里很有用。问题3)我想;如果我在打开源代码时使用了超过4 Gig的RAM(减去系统预留内存等等),我可能会担心更大的问题,比如代码重构!Q4)对任何项目都有很好的建议!谢谢你的意见!