48 |
import java.util.Comparator; |
import java.util.Comparator; |
49 |
import java.util.HashMap; |
import java.util.HashMap; |
50 |
import java.util.Iterator; |
import java.util.Iterator; |
51 |
|
import java.util.WeakHashMap; |
52 |
|
|
53 |
/** |
/** |
54 |
* <p>The repaint manager holds a set of dirty regions, invalid components, |
* <p>The repaint manager holds a set of dirty regions, invalid components, |
69 |
/** |
/** |
70 |
* The current repaint managers, indexed by their ThreadGroups. |
* The current repaint managers, indexed by their ThreadGroups. |
71 |
*/ |
*/ |
72 |
static HashMap currentRepaintManagers; |
static WeakHashMap currentRepaintManagers; |
73 |
|
|
74 |
/** |
/** |
75 |
* <p>A helper class which is placed into the system event queue at |
* <p>A helper class which is placed into the system event queue at |
287 |
public static RepaintManager currentManager(Component component) |
public static RepaintManager currentManager(Component component) |
288 |
{ |
{ |
289 |
if (currentRepaintManagers == null) |
if (currentRepaintManagers == null) |
290 |
currentRepaintManagers = new HashMap(); |
currentRepaintManagers = new WeakHashMap(); |
291 |
ThreadGroup threadGroup = Thread.currentThread().getThreadGroup(); |
ThreadGroup threadGroup = Thread.currentThread().getThreadGroup(); |
292 |
RepaintManager currentManager = |
RepaintManager currentManager = |
293 |
(RepaintManager) currentRepaintManagers.get(threadGroup); |
(RepaintManager) currentRepaintManagers.get(threadGroup); |
331 |
public static void setCurrentManager(RepaintManager manager) |
public static void setCurrentManager(RepaintManager manager) |
332 |
{ |
{ |
333 |
if (currentRepaintManagers == null) |
if (currentRepaintManagers == null) |
334 |
currentRepaintManagers = new HashMap(); |
currentRepaintManagers = new WeakHashMap(); |
335 |
|
|
336 |
ThreadGroup threadGroup = Thread.currentThread().getThreadGroup(); |
ThreadGroup threadGroup = Thread.currentThread().getThreadGroup(); |
337 |
currentRepaintManagers.put(threadGroup, manager); |
currentRepaintManagers.put(threadGroup, manager); |