在JTextPane中,如何更改输入元素的值属性?
问题描述:
我有一个JTextPane显示的HTML文档,它工作得非常好。我有一些按钮,我使用ActionListeners与ButtonModel进行交互,并且钩入状态链接(#foo)来处理简单的内部应用程序链接。在JTextPane中,如何更改输入元素的值属性?
我的问题是,我有一个INPUT元素,我需要更改框的文本更改的“值”。
答
JTextPane的getText()
和setText()
方法使您可以完全访问组件显示的文本。如果这恰好是HTML,那么您处理的文本是一个HTML文档,您需要更改该HTML文本,就像直接显示HTML一样。
如果您有INPUT
与type="text"
或默认类型,则显示一个文本字段,其显示值由value=
属性控制。
要做到这一点,您需要对JTextPane的文本值进行一些代码内编辑。您可以使用IndexOf()
找到INPUT
标记的偏移量,然后再次找到value
或关闭的尖括号,然后将所需值插入所需的位置。
当您设置了新的字符串时,请使用setText()
将它放回JTextPane中。完成。
答
HTMLDocument有一个getElement方法用于获取具有给定id属性的javax.swing.text.Element。用这个来获得你的输入元素,然后调用
htmlDocument.setOuterHtml(
inputElement,
"<input id=\"foo\" value=\"" + escapeHtml(newValue) + "\">"
)
用你的inputElement值替换新值。
请注意,我没有试过这个。让我们知道它是否有效!
请问您可以添加您的html和java代码吗? – 2009-12-27 09:17:48