【发布时间】:2015-05-20 13:28:03
【问题描述】:
我有一个 JTabbedPane。我基于具有 JTextPane 信息的类(此处称为 textWrap)的实例化添加选项卡。我创建了一个新的侦听器实例并将其传递给 textWrap 的实例化:
tabEditorPane.addTab( fileName, new TextEditorWrap( new MyDocumentListener() ... ...);
当文件更改时,我的 DocumentListener 会在选项卡上添加一个星号。在我尝试将现有文件加载到文本选项卡之前,这一切似乎都很好。侦听器注册初始 BufferedReader 输入并添加一个星号。我该如何解决这个问题?
这件事有经验法则吗?我意识到我可以在创建类之后注册监听器,在加载文本文件之后,但我想看看堆栈说什么。
【问题讨论】:
-
如果我是你,我会在文档侦听器和星号创建之间添加一个中间件。假设是 AsteriskListener。这个新的监听器将监听两件事:在修改发生时添加星号,或者在加载文件时删除星号。
-
应该从文档监听器中调用吗?这就是我所拥有的。我似乎想不出一种方法来阻止 dl 在文档的初始加载时调用星号方法
-
I realize I could register the listener after the class is created, as to after the text file is loaded,- 这就是我会做的。
标签: java swing jtextpane jtabbedpane documentlistener