【问题标题】:is that possible to built a simple text editor in java without using JTextArea?是否可以在不使用 JTextArea 的情况下在 java 中构建一个简单的文本编辑器?
【发布时间】:2012-03-06 18:08:04
【问题描述】:

根据我在 IT 学院的期末项目,我有一些问题。我必须在不使用 JTextArea(GUI Java)的情况下制作一个简单的文本编辑器(如记事本),我必须制作自己的 JTextArea。

Idea/Topic=自己的文本编辑器

算法=还没有任何想法

数据结构=绳子(二叉树的成员)

Requirement= 没有 JTextArea 的打字...

有可能做到吗?一个面板(或其他类似的东西)可以有一个听众或让一个听众去做吗? 只是想,第一步我只是想尝试在面板上打字,绝对需要算法,但到目前为止我还没有得到正确的算法。这可能吗?

我的想法是,对于我输入的文本存储到树中。那是我的数据结构的绳索(二叉树的成员)吗?

感谢您的帮助...

【问题讨论】:

  • 为什么你的教授会给你一个不可能完成的任务?这是可能的。

标签: java swing textarea text-editor


【解决方案1】:

这是可能的。

使用你提到的JPanel附加KeyListenerMouseListener

您需要一个模型 (Document)。对于最简单的情况,例如 StringBuilder,您可以在其中添加内容并显示 StringBuilder 内容。

您需要插入符号位置(int 字段)来指示应该在哪里进行编辑。

您需要字体字段来保存所有要在编辑器中使用的字体信息。

覆盖paintComponent() 并使用FontMetrics 测量文本并计算必要的宽度/高度。首先,我会创建一个没有换行的文本区域。

实现 viewToModel/modelToView 方法。他们应该计算给定 x,y 和 x,y 给定插入符号位置的插入符号位置。

【讨论】:

  • StanislavL 感谢您的帮助.. 我会尝试您的建议.. 我认为这很简单.. 如果我有任何问题,我会再问...跨度>
猜你喜欢
  • 2012-08-28
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多