Java Swing-绘制多个面板或单个面板的效率更高

时间:2019-01-31 05:34:38

标签: java swing

如果可以选择在单个JPanel中进行所有渲染还是在多个JPanels中进行渲染(并覆盖paintComponent),并且不使用其他任何Swing组件(例如JButton,JTextBoxes,JComboBoxes等)(面板所在的位置)。如果仅使用drawLine,drawRectangle,fillRect等进行绘图,那么将所有内容绘制在一个面板中或将绘图分散到多个面板是否更有效?假设两种方法的代码复杂度相同,并且减少延迟/提高响应时间很重要。

2 个答案:

答案 0 :(得分:1)

效率略高。

但是,请考虑使用多个面板,并依靠布局管理器来处理尺寸调整等。这很可能会简化您的代码。如果仅使用一个面板,则必须自己调整大小。

在编程中,请不要在知道性能问题之前进行优化。衡量!

答案 1 :(得分:1)

当它需要

摇摆将只能涂料的组分。

如果整个帧重新绘制每次属性改变,则在为了易于维护单个位置保持逻辑在一起。

如果将面板分解为子组件是合乎逻辑的,则可以根据需要重新绘制各个子组件。

例如,这就是JTable的工作方式。你可以有一百行的表,但如果你只改变一个行的数据,则只有该行被粉刷一新。