我有一个JTabbedPane。我根据具有JTextPane信息的类(此处称为textWrap)的实例化添加选项卡。我创建了一个新的侦听器实例,并将其传递给textWrap的实例化:
tabEditorPane.addTab( fileName, new TextEditorWrap( new MyDocumentListener() ... ...);
我的DocumentListener在文件更改时向选项卡添加星号。在我尝试将现有文件加载到文本选项卡之前,这一切似乎都没问题。侦听器注册初始的BufferedReader输入并添加星号。我怎么能绕过这个?
这件事有经验吗?我知道在创建类之后我可以注册监听器,因为在加载文本文件之后,我想看看堆栈说的是什么。
答案 0 :(得分:1)
加载文件时,应该有一个像
这样的调用myTextPane.getEditorKit().read(...);
或任何等效的加载方法。 您可以做的是将此行替换为4个步骤:
为此,您可以扩展文本窗格并编写将执行这4个步骤的load
方法。无论如何,管理文件加载的对象将需要对DocumentListener的引用