Java 文本编辑器自动完成和缩进逻辑

发布于 2025-01-08 02:31:51 字数 201 浏览 0 评论 0原文

嗯,我是 Java 新手。我正在开发一个文本编辑器。其实我有两个问题。

  1. 如何添加自动完成“{}”。我应该使用哪个类?我应该使用 BufferedReader 或 BufferedWriter 还是其他什么?

  2. 自动缩进背后的逻辑是什么?

我在谷歌上搜索了100多次。什么也没有出现!

Well, I'm new in Java. I'm developing a text editor. Actually, I have two questions.

  1. How can I add auto complete "{}". Which class should i use? Should I use BufferedReader or BufferedWriter or anythings else?

  2. What is the logic behind auto indenting?

I searched in google over 100 times. Nothing comes up!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

橙味迷妹 2025-01-15 02:31:51

你的问题没有意义。由于您是 Java 新手,因此在处理更复杂的编辑器行为之前,您应该尝试让 Windows 记事本克隆运行起来。

自动完成和自动缩进要求编辑者知道正在编辑的文本类型。

举一个例子,英语文本自动完成可能会使用编辑器中之前使用过的不常见英语单词的列表。自动缩进会在段落开头自动将光标缩进一个制表符。

对于 Java 代码,自动完成和自动缩进的规则会有所不同。编辑器必须识别 Java 语法并维护 Java 方法列表。

自动完成的机制是将用户输入的内容与单词列表(对于第一个示例)或 Java 方法(对于第二个示例)进行匹配。由于可能有多个单词或方法匹配,因此您可以显示一个列表,并让用户根据需要选择一个。

Your questions don't make sense. Since you're new to Java, you should try and get a Windows Notepad clone working before you tackle more complex editor behaviors.

Auto-complete and auto-indenting require that the editor know what type of text is being edited.

To take one example, English text auto-completing would probably use a list of the uncommon English words used before in the editor. Auto-indenting would automatically indent the cursor one tab at the start of a paragraph.

The rules for auto-complete and auto-indenting would be different for Java code. The editor would have to recognize Java syntax and maintain a list of Java methods.

The mechanics of auto-complete are matching what the user is typing with a list of words (for the first example) or Java methods (for the second example). Since more than one word or method is likely to match, you display a list, and let the user choose one if so desired.

捂风挽笑 2025-01-15 02:31:51

如果您描述创建此文本编辑器的意图可能会有所帮助。

已经有一个名为 JSyntaxPane 的文本编辑器支持多种语言的语法突出显示。

请参阅 http://code.google.com/p/jsyntaxpane/

It may be helpful if you described what your intentions are behind creating this text editor.

There is already a text editor that supports syntax highlighting for multiple languages called JSyntaxPane.

See http://code.google.com/p/jsyntaxpane/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文