2012年8月14日
摘要: Java api 1.6public class RepaintManager extends Object此类管理重绘请求,以最大限度地降低重绘次数。例如,通过将多个请求折叠到对组件树成员的单个重绘中。从 1.6 开始,RepaintManager 处理对 Swing 的顶层组件(JApplet、JWindow、JFrame 和 JDialog)的重绘请求。在这些组件之一上对 repaint 的任何调用将生成适当的 addDirtyRegion 方法。以前批量添加swing组件的数据时,总担心每添加一条,它就刷新下界面,为了“避免”如此,有时我甚至重写Model的相关方法(有些默认的mode 阅读全文
posted @ 2012-08-14 11:45 trytocatch 阅读(1709) 评论(0) 推荐(0) 编辑
  2012年5月16日
摘要: 在swing系统中,有一个顶级的java.awt.Container(可能是一个JFrame或JDialog实例),负责启动一个EventDispatchThread的线程,单线程,这个线程是负责处理UI事件的,如点击按钮、窗口关闭等因此,如果将繁琐耗时的处理逻辑放到actionPerformed之类的事件处理方法中,那么这些代码是由EDT来执行的,而EDT负责处理UI事件,则会引起UI失去响应。此时,可以将处理逻辑放到一个新的线程中来执行,这样就不会影响EDT去处理UI事件,就不会“卡死”。但假如此逻辑需要更新UI,由于swing不是线程安全的,该线程直接修改可能会导致线程安全问题(该线程和 阅读全文
posted @ 2012-05-16 17:52 trytocatch 阅读(894) 评论(0) 推荐(0) 编辑