问题标签 [jtextcomponent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
247 浏览

java - 获取 JTextComponent 的 HTMLDocument 中的当前偏移量

在 Swing 应用程序中,我正在使用带有 HTMLDocument 后端的 JTextPane。在某一时刻,我以编程方式将某种占位符插入到文档中

document.insertString(...)

出于某种原因,使用

HTMLEditorKit.insertHTML()

方法不会使文本出现在 JTextPane 中。

我想知道的是我要插入到文档中的哪个位置,也就是在后台编写的 HTML 文档。我可以说

JTextPane.getCaretPosition()

但这只会给我前端可见的文档中的偏移量,而不是结果。

0 投票
1 回答
229 浏览

swing - 更好的选择:TextLayout 或 JTextComponent 用于“带有可编辑文本的椭圆”组件?

如果您曾经使用过 Visio 或 UML 类图编辑器,那么您就会了解我想要完成的工作:在 JFrame 中,用户可以添加包围一个小的可编辑文本字段的省略号。当用户拖动它们时,这些椭圆可以在框架内重新定位。单击椭圆会导致文本变得可编辑:出现克拉,可以突出显示子字符串等。

我已经建立了基本结构:“椭圆”是一个自包含的组件,其中包含从包含 JFrame 及其侦听器调用的方法。我尝试了两种方法:

  1. 在组件的 draw() 方法中,使用 TextLayout 查找边界,将包含的文本定位在椭圆内,然后使用 TextLayout 的 draw() 将其绘制到框架上。这很快。在 JFrame 中拖动组件,鼠标悬停和鼠标单击行为都很简单。然而,对于编辑功能,我似乎需要编写大量自定义代码来处理命中测试、克拉定位、文本突出显示、换行等。

  2. 让组件包含对包含 JFrame 的引用,并在绘制椭圆后在该 JFrame 中添加或重新定位 TextComponent。这具有用于编辑和换行的所有内置 TextComponent 行为的优势。但是后勤工作真的很草率,TextComponent 的定位也变得很乱——尤其是当用户拖动组件时。

我很可能认为这一切都是错误的。任何人都可以提出一个我还没有偶然发现的简单方法吗?

0 投票
1 回答
1266 浏览

java - 在 java swing jtextcomponent 中突出显示更改的文本

我试图突出显示 JEditorPane 中的一些代码,如下所示:

这将一次突出显示一个字符,并且所有字符都将保持突出显示。现在,我想要相同的行为(所有字符都保持突出显示),但我想更改突出显示之间的文本,如下所示:

请注意窗格中的文本正在更改,然后我正在应用新的突出显示。旧的亮点消失了——我希望它们留下来。我的假设是每次 setText() 时高光都会消失。那么,有没有办法在更改文本的同时保持文本组件中的高亮显示呢?

0 投票
1 回答
1064 浏览

java - 语法高亮

我为自己创建了一个 Summer 项目,并决定编写一个简单的文本/代码编辑器。我认为到目前为止一切进展顺利。我创建了一个基本的 GUI,可以进行简单的操作,如打开、保存和创建文件。

现在,我通过在打开文件时阅读单词来进行语法突出显示,但事实证明这真的很混乱,如果有人只是在 GUI 中输入,它不会突出显示语法。

所以我想要一些关于如何进行语法突出显示的想法,以便它适用于打开文件和在窗口中输入。

另外,如果有人有时间我想听听关于我的代码的评论,这是存储库:https ://mcmillhj.beanstalkapp.com/jtexteditor/browse

主要文件是 JTextEditor.java 和 ui/JTextEditorUI.java

0 投票
3 回答
9716 浏览

java - java.lang.ClassCastException:javax.mail.internet.MimeMultipart 不能在 NewClass.main(NewClass.java:34) 处转换​​为 java.lang.String

这是用于从 Gmail 服务器获取电子邮件的代码。随之而来的还有主题和发送者。我正在检查的收件箱有 5 条消息。(有些已读,有些未读) 我希望 html 内容可见,所以我使用了JEditorPane

}

我得到的输出是: Gmail Team <mail-noreply@google.com><-- FROM Get Gmail on your mobile phone<---Subject

在此输出之后,程序给出以下异常java.lang.ClassCastException: javax.mail.internet.MimeMultipart cannot be cast to java.lang.String at NewClass.main(NewClass.java:34)。为什么框架不可见?

0 投票
1 回答
906 浏览

java - 覆盖 JTextField 的 getText

我希望覆盖getText(),以便它可以返回一个空值而不是一个空白值。我注意到这getText()是其中的一部分,JTextComponent但我一直无法成功覆盖它。获得预期结果的最佳方法是什么?

0 投票
3 回答
1579 浏览

java - 将动作与 DocumentListener 一起使用

我正在开发一个应用程序,我希望通过用户更新 JTextArea 的内容或通过按下 JButton 手动触发某些东西。

我已经使用 DocumentListener 完成了第一部分并将相关代码放入其insertUpdate方法中。

我以前没有使用过Actions,但我听说它们对于需要由多个控件触发某些东西的情况很有用。是否可以从 DocumentListener 触发操作?完全使用 Actions 是一个好主意,还是应该将我的代码放在正常的方法中?

(在构造函数中):

和 Action,它是一个字段:

澄清:

JTextArea 将接收用户粘贴的文本,我想自动解析这些文本。解析依赖于 GUI 中其他地方设置的其他值;如果用户更改了这些其他值,他可能想要重新解析文本,因此需要通过按下按钮来执行相同的操作。

0 投票
2 回答
90 浏览

java - 停用 JScrollPane 上的 ScrollOnExpand

我想防止滚动窗格在其视图中的内容展开时滚动。任何指针?我试过谷歌搜索标题的变体,以及阅读 JScrollPane 的所有文档,但我仍然有点困惑。

编辑:在滚动窗格中,我有一个文本窗格,在它旁边我有另一个文本窗格,显示它旁边窗格的行号。每次添加新行时,我都会填写此数字窗格,因此这可能是导致视图前进的原因。

0 投票
3 回答
5117 浏览

java - 所见即所得 XML 编辑器 java

我需要编写一个基于 swing 的编辑器,它可以打开指定的 xml 文件,其中包含我必须在 a<p></p>标签之间使用的文本,但文件中还有其他标签。文件中还有其他无用的信息,我不需要显示,但需要保留。我只需要显示 a 中提到的标签内的文本JTextComponent,让用户修改它并以某种方式将更改写回底层 xml 源。xml 文件中标签的位置因文件而异,并且文件中有多个<p>标签,我应该一次显示并编辑所有标签的内容。你怎么看?完成上述任务的最佳方法是什么?

0 投票
2 回答
1886 浏览

java - 在 JEditorPane/JTextArea 上显示和附加图标,每个图标都显示在换行符中?

我正在尝试显示 JEditorpane 文件扩展的系统图标,但只能显示最后一个图标?我想在换行符上附加并显示每个图标?