public UIController(MainPanel main, ChoicePanel choice, NaryPanel np,
			TranslatePanel translate, RDBToXML r) {

		mapButtonLabel = new HashMap<JButton, JLabel>();
		mapButtonCombo = new HashMap<JButton, Pair<JPanel, ArrayList<JComboBox>>>();
		mapButtonNary = new HashMap<JButton, List<String>>();
		mapButtonRelationName = new HashMap<JButton, String>();
		cycleCombo = new ArrayList<JComboBox>();
		nary = new HashMap<String, List<String>>();
		cycles = new ArrayList<List<String>>();
		splitThis = new ArrayList<String>();

		this.main = main;
		this.choice = choice;
		this.translate = translate;
		this.r = r;
		this.np = np;

		this.main.addConnectListener(new ConnectListener());
		this.choice.addNextListener(new NextListener());
		this.choice.addCancelListener(new CancelListener());
		this.np.addNextListener(new NaryNextListener());
		this.np.addPrevListener(new NaryPrevListener());
		this.translate.addPrevListener(new PrevListener());
		this.translate.addBrowseListener(new BrowseListener());
		this.translate.addTranslateListener(new TranslateListener());
	}