2012-08-27 34 views
1

我有一個文檔偵聽器,它是間接源,JTextArea(JTextArea.getDocument()。addDocumentListener等)。獲取DocumentListener的間接源

我需要我的偵聽器訪問JTextArea,但沒有引用。類似event.getSource()的動作和關鍵偵聽器......我知道,偵聽器的來源是文檔,而不是JTextArea本身,但我需要去它。

有什麼建議嗎?

回答

2

文檔是文本組件的模型,Swing是爲單個模型構建的,可以被許多視圖使用。因此,據我所知,你的問題的答案是否定的,這不能直接完成,因爲許多文本組件可以使用相同的文檔。

幽州:

應該去掉所有多餘的文字(複製/粘貼,必須考慮到太)和一個對話框應該彈出式視窗通知限制的用戶。我仍然不確定如何做到這一點(複製/粘貼,沒有它,它可以輕鬆完成),所以如果你有想法拍攝,但我將需要這個參數問題解決反正...

我想知道是否需要對輸入到JTextArea的那麼多控制,也許你不應該使用JTextArea。相反,也許你應該給我們一個JList,並完全控制如何添加和刪除這個組件。

+0

我可以將JTextArea作爲附加參數傳遞給偵聽器嗎? –

+0

@John:當然可以。但是你在你的問題中表示你不想使用引用。我很好奇你對這一切的動力。你爲什麼需要JTextArea? –

+0

文檔監聽器應該確保在JTA中不超過文字包裝文本行,並且我會在此處放入行號檢測,並且在每次更改高度(或行號)時,都必須運行一個方法它檢查所有的組件是否仍然在它們的範圍內(JTextArea只是帶有盒子佈局的JPanel內的許多組件之一)。 –