public TfDialog(String title, int dim, int oNum, List<Parameter> params, List<Parameter> sysParams) {
		this.setTitle("Transfer Function for " + title);
		this.setModal(true);

		this.dim = dim;
		this.oNum = oNum;

		numFlds = new JTextField[oNum][dim + 1];
		for (int k = 0; k < numFlds.length; k++)
			for (int i = 0; i < numFlds[k].length; i++)
				numFlds[k][i] = new JTextField("0", 5);

		denFlds = new JTextField[dim];
		for (int i = 0; i < denFlds.length; i++)
			denFlds[i] = new JTextField("0", 5);

		Container window = this.getContentPane();
		window.setLayout(new BoxLayout(window, BoxLayout.Y_AXIS));

		window.add(getParamPanel(params, sysParams));

		JPanel[] nps = getNumPanel();
		JPanel np = new JPanel();
		np.setLayout(new BoxLayout(np, BoxLayout.Y_AXIS));
		np.setBorder(new BevelBorder(BevelBorder.LOWERED));
		for (int k = 0; k < nps.length; k++)
			np.add(nps[k]);

		window.add(np);
		window.add(getDenPanel());
		window.add(getCtlPanel());

		pack();
		this.setLocationRelativeTo(null);
		setVisible(true);
	}