提高JTextField的性能

时间:2016-10-25 12:42:46

标签: java performance swing jtextcomponent

标题本身听起来很奇怪,但我想知道是否有改善" setText"的性能的实际方法。常规Java JTextField的方法。

我有应用程序,用于计算一些科学数据。计算结果显示在Swing窗口中,其中包含总共1815个不同JTextField控件的选项卡。我确实需要JTextField,因为结果应该是可编辑的。 我注意到很多"处理结果"时间进入" setText"的内部运作方法。看看JTextComponent源代码我假设它是因为底层" AbstractDocument"。

由于我希望提高向用户提供计算结果的速度,是否有办法让JTextField的执行速度更快(最值得注意的是" setText"方法)?

1 个答案:

答案 0 :(得分:2)

  

这些字段被分组为单独的框架,以便更具视觉吸引力和可区分性。

严重。用户将无法一次查看1815个组件并观察其行为,尤其是当所有组件的值一次性更改时。

也许单个表不能用于所有文本字段,但我确信您可以将一些数据构建到表中。

  

我确实需要JTextField,因为结果应该是可编辑的。

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

因此,可以使用JLabel显示数据,然后编辑双击并使用弹出窗口JTextField将数据输入标签。

  

创建一个不使用AbstractDocument而是使用纯String的自定义JTextField?

而不是使用PlainDocument作为AbstractDocument的实现,您可以创建自己更简单的Document实现,而不需要PlainDocument的全部开销。