问题标签 [documentlistener]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
374494 浏览

java - JTextField 的值更改侦听器

我希望在用户更改文本字段中的值后立即出现消息框。目前,我需要按回车键才能弹出消息框。我的代码有什么问题吗?

任何帮助,将不胜感激!

0 投票
2 回答
794 浏览

java - DocumentListener 减慢 Document.setCharacterAttributes 方法?

这是我在这个网站上的第一个问题,虽然不是我第一次进入以清除我的疑虑,很棒的网页。:)

我正在编写一个突出显示 JTextPane 中代码的 java 程序,并且我正在更改突出显示的完成方式。我正在使用 JTabbedPane 让用户同时编辑多个文件,并且我曾经使用 Timer 执行文档突出显示,现在我构建了一个在单独线程中运行的突出显示队列并实现了一个 DocumentListener 队列发生变化时的文件。

但是我有一个很大的问题,如果我通过 DocumentListener 添加文档,Highlight 过程需要很长时间,而如果我通过直接从 JTextPane 获取文档将其添加到主类中,则只需几毫秒。我在我的代码中执行了多个基准测试,发现从 DocumentListener 添加文档时需要花费大量时间执行的是方法 Document.setCharacterAttributes()。

下面是通过 DocumentListener 添加文档的方法:

如果我使用这种方法添加一个包含 2k 行的文档,则需要大约 1900 毫秒来突出显示整个文档,而如果我使用插入符号监听方法将文档添加到突出显示队列中,则需要大约 500 毫秒。

这是插入符号侦听方法的一部分,用于在加载整个文档时突出显示它们:

注意:Highlight/Engine.addDocument() 方法有五个参数:(StyledDocument doc,int start, int end, String tabTitle, String docText)。开始和结束都指示需要突出显示的区域。

我将不胜感激与此问题相关的任何帮助,因为我已经尝试解决了几天,但在 Internet 上找不到类似的东西。:(

顺便说一句,有人知道 Document.setCharacterAttributes 和 Document.setParagraphAttributes 之间的实际区别吗?:P

0 投票
1 回答
4110 浏览

java - 如何获取放置 Document 的 JTextField 名称?

DocumentListener 也有类似 event.getSource 的东西吗?我试图改变一个 JTextField 的颜色,其中文本正在改变。这是我的 DocumentListener:

如果没有像.getSource()DocumentListener 那样的东西。怎么做?

0 投票
3 回答
1579 浏览

java - 将动作与 DocumentListener 一起使用

我正在开发一个应用程序,我希望通过用户更新 JTextArea 的内容或通过按下 JButton 手动触发某些东西。

我已经使用 DocumentListener 完成了第一部分并将相关代码放入其insertUpdate方法中。

我以前没有使用过Actions,但我听说它们对于需要由多个控件触发某些东西的情况很有用。是否可以从 DocumentListener 触发操作?完全使用 Actions 是一个好主意,还是应该将我的代码放在正常的方法中?

(在构造函数中):

和 Action,它是一个字段:

澄清:

JTextArea 将接收用户粘贴的文本,我想自动解析这些文本。解析依赖于 GUI 中其他地方设置的其他值;如果用户更改了这些其他值,他可能想要重新解析文本,因此需要通过按下按钮来执行相同的操作。

0 投票
1 回答
2475 浏览

java - Java GUI 中的文档模型

我的 GUI 中有两个 JTextArea,每个 JTextArea 上都有一个 DocumentListener,例如,当我在文本区域编号 1 中键入 abc 时,它将采用该文档文本以某种方式对其进行修改并输出它在 JTextArea 2 的文档中。

使用我的 Listener 我可以获取源文档 我可以获取文本 我可以修改文本但是当我尝试将其放回文档时出现错误

线程“AWT-EventQueue-0”java.lang.IllegalStateException 中的异常:尝试在通知中变异

请帮忙。

谢谢

这是一些代码:

0 投票
4 回答
1826 浏览

java - 听许多 JTextFields 并在一行中计算值总和

我有一个从用户那里获取输入的应用程序;
它有 8 行JTextFields3 列:

在用户更改第一个或第二个字段的每一行中,新值的总和必须写入第三个字段。
例如,当用户更改归档 1-1 和字段 1-2 时,它们的总和必须计算并显示在字段 1-3 中,以此类推其他行。
我写了一个实现DocumentListener并命名它的类listenerClass& 要求.getDocument().addDocumentListener(new listenerClass)所有JTextFields列 1 & 2 ;
现在listenerClass我需要知道哪个JTextField调用listenerClass能够确定必须添加哪些字段并且必须将结果写入哪个JTextField.

我怎样才能找出哪个JTextFieldDocumentListener
有没有更好的方法来做到这一点?
谢谢

0 投票
1 回答
1935 浏览

java - 可以实例化类型 DocumentListener

我需要这样做:Value Change Listener to JTextField

我正在尝试 Condemwnci 的解决方案,但我遇到了该错误: textField.getDocument().addDocumentListener(new DocumentListener() 在我的情况下是: jtxtfBuscarInv.getDocument().addDocumentListener(new DocumentListener()

在我的情况下,我想更新 Jtable 中的行,所以我的方法是这样的: ordenador.setRowFilter(RowFilter.regexFilter(jtxtfBuscarInv.getText(), 0));

我在 linux 上,ubuntu 11.10,如果重要的话,使用 Eclipse。


编辑:

我不明白为什么,但它的工作方式如下:

然后覆盖实现方法,而不是在同一行中执行所有操作。

0 投票
2 回答
373 浏览

java - 在 DocumentEvent 中获取元素名称

是否可以在 DocumentListener 中获取根元素名称、actionCommand 等... 我需要获取 JTextField 名称来跟踪修改了哪个文本字段。

0 投票
1 回答
235 浏览

sharepoint - 工作流或事件监听器

我们正在为我们的客户建立一个外联网共享点门户。每个客户都有一个站点。站点总数将在 2000-3000 之间。

当客户端上传新文档时,我需要将文档从 SiteCollectionA/SiteA/DocumentLibrary 复制到另一个网站集上的另一个全局列表。

我应该创建工作流来复制文档或事件侦听器吗?上传后将允许客户端更新文档属性,并且这些更改也必须推送到全局列表中。

我的选择是事件监听器,因为它更清洁、更便宜、更容易。我不是工作流专家,但我认为在 2000 多个站点上维护/更新/重新发布工作流比事件监听器更难。

你们有什么感想?

谢谢

0 投票
2 回答
651 浏览

java - 扩展 addDocumentListener 的功能

我有一个扩展的文本字段,javax.swing.JTextField也有像这样的文档侦听器

现在我想要另一个文本字段说MyTextField1扩展MyTextField它应该有这个强制检查,并且在检查强制字段之后从数据库中获取一些信息,如果给出了一些值。我不想在其中编写相同的文档侦听器代码。是否可以扩展我们添加的文档侦听器MyTextField或者我应该选择焦点侦听器?