gpt4 book ai didi

java - 是否可以在不使用 JTextArea 的情况下在 Java 中构建一个简单的文本编辑器?

转载 作者:行者123 更新时间:2023-11-29 08:08:22 26 4
gpt4 key购买 nike

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

想法/主题=自己的文本编辑器

Algorithms= 还没有任何想法

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

要求=在没有 JTextArea 的情况下打字...

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

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

感谢您的帮助...

最佳答案

这是可能的。

使用您提到的 JPanel 附加 KeyListenerMouseListener

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

您需要插入符位置(int 字段)来指示编辑应该发生的位置。

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

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

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

关于java - 是否可以在不使用 JTextArea 的情况下在 Java 中构建一个简单的文本编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9589404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com