问题标签 [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.
java - 获取 JTextComponent 的 HTMLDocument 中的当前偏移量
在 Swing 应用程序中,我正在使用带有 HTMLDocument 后端的 JTextPane。在某一时刻,我以编程方式将某种占位符插入到文档中
document.insertString(...)
出于某种原因,使用
HTMLEditorKit.insertHTML()
方法不会使文本出现在 JTextPane 中。
我想知道的是我要插入到文档中的哪个位置,也就是在后台编写的 HTML 文档。我可以说
JTextPane.getCaretPosition()
但这只会给我前端可见的文档中的偏移量,而不是结果。
swing - 更好的选择:TextLayout 或 JTextComponent 用于“带有可编辑文本的椭圆”组件?
如果您曾经使用过 Visio 或 UML 类图编辑器,那么您就会了解我想要完成的工作:在 JFrame 中,用户可以添加包围一个小的可编辑文本字段的省略号。当用户拖动它们时,这些椭圆可以在框架内重新定位。单击椭圆会导致文本变得可编辑:出现克拉,可以突出显示子字符串等。
我已经建立了基本结构:“椭圆”是一个自包含的组件,其中包含从包含 JFrame 及其侦听器调用的方法。我尝试了两种方法:
在组件的 draw() 方法中,使用 TextLayout 查找边界,将包含的文本定位在椭圆内,然后使用 TextLayout 的 draw() 将其绘制到框架上。这很快。在 JFrame 中拖动组件,鼠标悬停和鼠标单击行为都很简单。然而,对于编辑功能,我似乎需要编写大量自定义代码来处理命中测试、克拉定位、文本突出显示、换行等。
让组件包含对包含 JFrame 的引用,并在绘制椭圆后在该 JFrame 中添加或重新定位 TextComponent。这具有用于编辑和换行的所有内置 TextComponent 行为的优势。但是后勤工作真的很草率,TextComponent 的定位也变得很乱——尤其是当用户拖动组件时。
我很可能认为这一切都是错误的。任何人都可以提出一个我还没有偶然发现的简单方法吗?
java - 在 java swing jtextcomponent 中突出显示更改的文本
我试图突出显示 JEditorPane 中的一些代码,如下所示:
这将一次突出显示一个字符,并且所有字符都将保持突出显示。现在,我想要相同的行为(所有字符都保持突出显示),但我想更改突出显示之间的文本,如下所示:
请注意窗格中的文本正在更改,然后我正在应用新的突出显示。旧的亮点消失了——我希望它们留下来。我的假设是每次 setText() 时高光都会消失。那么,有没有办法在更改文本的同时保持文本组件中的高亮显示呢?
java - 语法高亮
我为自己创建了一个 Summer 项目,并决定编写一个简单的文本/代码编辑器。我认为到目前为止一切进展顺利。我创建了一个基本的 GUI,可以进行简单的操作,如打开、保存和创建文件。
现在,我通过在打开文件时阅读单词来进行语法突出显示,但事实证明这真的很混乱,如果有人只是在 GUI 中输入,它不会突出显示语法。
所以我想要一些关于如何进行语法突出显示的想法,以便它适用于打开文件和在窗口中输入。
另外,如果有人有时间我想听听关于我的代码的评论,这是存储库:https ://mcmillhj.beanstalkapp.com/jtexteditor/browse
主要文件是 JTextEditor.java 和 ui/JTextEditorUI.java
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)
。为什么框架不可见?
java - 覆盖 JTextField 的 getText
我希望覆盖getText()
,以便它可以返回一个空值而不是一个空白值。我注意到这getText()
是其中的一部分,JTextComponent
但我一直无法成功覆盖它。获得预期结果的最佳方法是什么?
java - 将动作与 DocumentListener 一起使用
我正在开发一个应用程序,我希望通过用户更新 JTextArea 的内容或通过按下 JButton 手动触发某些东西。
我已经使用 DocumentListener 完成了第一部分并将相关代码放入其insertUpdate
方法中。
我以前没有使用过Action
s,但我听说它们对于需要由多个控件触发某些东西的情况很有用。是否可以从 DocumentListener 触发操作?完全使用 Actions 是一个好主意,还是应该将我的代码放在正常的方法中?
(在构造函数中):
和 Action,它是一个字段:
澄清:
JTextArea 将接收用户粘贴的文本,我想自动解析这些文本。解析依赖于 GUI 中其他地方设置的其他值;如果用户更改了这些其他值,他可能想要重新解析文本,因此需要通过按下按钮来执行相同的操作。
java - 停用 JScrollPane 上的 ScrollOnExpand
我想防止滚动窗格在其视图中的内容展开时滚动。任何指针?我试过谷歌搜索标题的变体,以及阅读 JScrollPane 的所有文档,但我仍然有点困惑。
编辑:在滚动窗格中,我有一个文本窗格,在它旁边我有另一个文本窗格,显示它旁边窗格的行号。每次添加新行时,我都会填写此数字窗格,因此这可能是导致视图前进的原因。
java - 所见即所得 XML 编辑器 java
我需要编写一个基于 swing 的编辑器,它可以打开指定的 xml 文件,其中包含我必须在 a<p>
和</p>
标签之间使用的文本,但文件中还有其他标签。文件中还有其他无用的信息,我不需要显示,但需要保留。我只需要显示 a 中提到的标签内的文本JTextComponent
,让用户修改它并以某种方式将更改写回底层 xml 源。xml 文件中标签的位置因文件而异,并且文件中有多个<p>
标签,我应该一次显示并编辑所有标签的内容。你怎么看?完成上述任务的最佳方法是什么?
java - 在 JEditorPane/JTextArea 上显示和附加图标,每个图标都显示在换行符中?
我正在尝试显示 JEditorpane 文件扩展的系统图标,但只能显示最后一个图标?我想在换行符上附加并显示每个图标?