1EDT
单线程
actionPerform方法由edt执行,应将耗时任务新建一条线程执行,用SwingUtilities.invokeLater()保证界面更新操作在edt中执行
2paintComponent
重绘组件内容需要重写的方法
如果在子类中重写此方法,则不应该对传入的 Graphics 进行永久更改。例如,不应更改剪贴区的
Rectangle 或修改转换。如果需要进行这些操作,您会发现根据传入的 Graphics 创建一个新 Graphics 并
进行操作更加方便。另外,如果不调用超类的实现,则必须遵守不透明属性,也就是说,如果此组件是不透明
的,则必须以透明的颜色完全填充背景。如果不遵守不透明属性,则很可能看到可视的人为内容。
3revalidate repaint
revalidate组件位置发生变化时才需要调用
repaint重绘组件,但位置不变