Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取DocumentListener的间接源_Java_Swing_Jtextarea_Documentlistener - Fatal编程技术网

Java 获取DocumentListener的间接源

Java 获取DocumentListener的间接源,java,swing,jtextarea,documentlistener,Java,Swing,Jtextarea,Documentlistener,我有一个文档监听器,它是间接源JTextArea(JTextArea.getDocument().addDocumentListener等) 我需要我的侦听器能够访问JTextArea,但不需要引用。类似于action和key侦听器中的event.getSource()的内容。。。我知道侦听器的来源是文档,而不是JTextArea本身,但我需要了解它 有什么建议吗?文档是文本组件的模型,Swing是为单个模型构建的,可以被多个视图使用。据我所知,您的问题的答案是否定的,这不能直接完成,因为许多文

我有一个文档监听器,它是间接源JTextArea(JTextArea.getDocument().addDocumentListener等)

我需要我的侦听器能够访问JTextArea,但不需要引用。类似于action和key侦听器中的event.getSource()的内容。。。我知道侦听器的来源是文档,而不是JTextArea本身,但我需要了解它


有什么建议吗?

文档是文本组件的模型,Swing是为单个模型构建的,可以被多个视图使用。据我所知,您的问题的答案是否定的,这不能直接完成,因为许多文本组件可以使用同一个文档

你说:


它应该删除所有多余的文本(也必须考虑复制/粘贴),并弹出一个对话框通知用户限制。我仍然不确定如何做到这一点(有复制/粘贴的想法,没有它可以很容易做到),所以如果你有想法拍摄,但我需要解决这个争论的问题无论如何


我想知道您是否需要对JTextArea的输入进行如此多的控制,也许您不应该使用JTextArea。相反,也许你应该给我们一个JList,完全控制如何在此组件中添加和删除行。

我可以将JTextArea作为附加参数传递给侦听器吗?@John:当然可以。但你在问题中说你不想使用参考资料。我很好奇你做这一切的动机。为什么需要JTextArea?Document listener应该确保JTA中的文本不超过单词包装行,我将在其中设置行数检测,在每次高度(或行号)更改时,它必须运行一个方法来检查所有组件是否仍在其范围内(JTextArea只是带有方框布局的JPanel内部的众多文本之一)。如果超过行号会发生什么?它应该删除所有多余的文本(也必须考虑复制/粘贴),并弹出一个对话框通知用户限制。我仍然不确定如何实现这一点(考虑到复制/粘贴,没有它可以很容易地完成),所以如果你有想法拍摄,但我还是需要解决这个争论问题。。。