标题本身听起来很奇怪,但我想知道是否有改善" setText"的性能的实际方法。常规Java JTextField的方法。
我有应用程序,用于计算一些科学数据。计算结果显示在Swing窗口中,其中包含总共1815个不同JTextField控件的选项卡。我确实需要JTextField,因为结果应该是可编辑的。 我注意到很多"处理结果"时间进入" setText"的内部运作方法。看看JTextComponent源代码我假设它是因为底层" AbstractDocument"。
由于我希望提高向用户提供计算结果的速度,是否有办法让JTextField的执行速度更快(最值得注意的是" setText"方法)?
答案 0 :(得分:2)
这些字段被分组为单独的框架,以便更具视觉吸引力和可区分性。
严重。用户将无法一次查看1815个组件并观察其行为,尤其是当所有组件的值一次性更改时。
也许单个表不能用于所有文本字段,但我确信您可以将一些数据构建到表中。
我确实需要JTextField,因为结果应该是可编辑的。
我怀疑某些处理与文本字段生成事件有关,只要文本被更改。例如DocumentEvents和UndoableEditEvents。
因此,可以使用JLabel
显示数据,然后编辑双击并使用弹出窗口JTextField
将数据输入标签。
创建一个不使用AbstractDocument而是使用纯String的自定义JTextField?
而不是使用PlainDocument
作为AbstractDocument
的实现,您可以创建自己更简单的Document实现,而不需要PlainDocument
的全部开销。