我有一個JTextPane顯示的HTML文檔,它工作得非常好。我有一些按鈕,我使用ActionListeners與ButtonModel進行交互,並且鉤入狀態鏈接(#foo)來處理簡單的內部應用程序鏈接。在JTextPane中,如何更改輸入元素的值屬性?
我的問題是,我有一個INPUT元素,我需要更改框的文本更改的「值」。
我有一個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