System Face

要是自己写套LookAndFeel,估计会累死, 何必呢何苦呢, 还是懒一点好。

AWT
Swing

重画策略由RepaintManager决定,只需要调用repaint(),不要直接调用paint().
update转向调用paint(),对awt而言,update是增量画图,swing中轻量级组件永远不调用update。

paint()触发有两种情况,系统(显示、移动、界面被破坏)触发,应用程序触发。

组件重画步骤:
paintComponent
paintBorder
printChildren

一般情况,只需要重载paintConponent。

性能问题:
1)swing默认使用缓冲区,用保存图形来减少重画,只要组件设置了使用缓冲区,其内的组件无论是否设置,均为使用。
2)尽量减少重画面积,避免使用无参数的repaint().
3)很多组件时,不要放在同一个layout中,因为一个组件的变动影响其它。

System Face_第1张图片

你可能感兴趣的:(swing,layout,System,图形)