* MageDialog - Removed some memory leaks for client dialogs (more to come soon).

This commit is contained in:
LevelX2 2014-01-30 03:05:49 +01:00
parent 2302b39b47
commit 4ab572bd0e
9 changed files with 59 additions and 34 deletions

View file

@ -1,15 +1,14 @@
package mage.client.components;
import java.awt.Component;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Map;
import javax.swing.JButton;
public class MageUI {
private Map<MageComponents, Component> ui = new HashMap<MageComponents, Component>();
private Map<MageComponents, Object> sync = new HashMap<MageComponents, Object>();
private final Map<MageComponents, Component> ui = new EnumMap<MageComponents, Component>(MageComponents.class);
private final Map<MageComponents, Object> sync = new EnumMap<MageComponents, Object>(MageComponents.class);
public JButton getButton(MageComponents name) throws InterruptedException {
//System.out.println("request for " + name);
@ -70,6 +69,12 @@ public class MageUI {
}
}
public void removeButton(MageComponents name) {
synchronized (ui) {
ui.remove(name);
}
}
public void addComponent(MageComponents name, Component component) {
synchronized (ui) {
ui.put(name, component);