提高 JTextField 的性能

Improving performances of JTextField

标题本身听起来很奇怪,但我想看看是否有实际方法可以提高常规 Java JTextField 的 "setText" 方法的性能。

我有一个用于计算一些科学数据的应用程序。计算结果显示在 Swing window 中,其中包含带有总共 1815 个不同 JTextField 控件的选项卡。我确实需要 JTextField,因为结果应该是可编辑的。 我注意到很多 "processing results" 时间用于 "setText" 方法的内部工作。查看 JTextComponent 源代码,我认为这是因为底层 "AbstractDocument".

因为我想提高向用户显示计算结果的速度,有没有办法让 JTextField 执行得更快(最值得注意的是 "setText" 方法)?

Those fields are grouped into separate frames in order to be more visual appealing and distinguishable.

说真的。用户将无法一次查看 1815 个组件并观察那里的行为,尤其是当所有组件的值同时发生变化时。

也许单个 table 不能用于所有文本字段,但我相信您可以将一些数据结构化为 tables。

I do need JTextField because results should be editable.

我怀疑某些处理与文本更改时生成事件的文本字段有关。例如 DocumentEvents 和 UndoableEditEvents。

所以,也许可以使用 JLabel 来显示数据,然后双击并使用弹出窗口 JTextField 将数据输入标签进行编辑。

creating a custom JTextField that's not using AbstractDocument but plain String?

除了使用 PlainDocument 作为 AbstractDocument 的实现之外,您还可以创建自己的更简单的 Document 实现,而无需 PlainDocument.

的全部开销