public void addComponentsToPane(final Container pane) {	
		//Main panel that holds the other panels (to accommodate results display field)
		JPanel mainPanel = new JPanel();
		pane.add(mainPanel);
		mainPanel.setBackground(Color.WHITE);
		mainPanel.setLayout(new BorderLayout(5, 5));
		
		//Add 2 visual return fields to the top, full equation view above and current input/return only on bottom
		JPanel dataPanel = new JPanel();
		dataPanel.setLayout(new GridLayout(0, 1));
		mainPanel.add(dataPanel, BorderLayout.NORTH);
		
		equationField = new JLabel(equation);
		equationField.setHorizontalAlignment(SwingConstants.RIGHT);
		dataPanel.add(equationField);
		
		returnField = new JLabel(currentInput);
		returnField.setHorizontalAlignment(SwingConstants.RIGHT);
		dataPanel.add(returnField);
		
		//Set up appropriate layout for the button panel (Grid looks best for calculators)
		GridLayout gridLay = new GridLayout(0, 4);
		
		//Create button panel
		JPanel buttonPanel = new JPanel();
		buttonPanel.setLayout(gridLay);
		mainPanel.add(buttonPanel, BorderLayout.CENTER);
		
		//Add all the buttons	
		JButton back = new JButton("<");
		back.addActionListener(new BackListener());
		buttonPanel.add(back);
		
		JButton clearEntry = new JButton("CE");
		clearEntry.addActionListener(new ClearEntryListener());
		buttonPanel.add(clearEntry);
		
		JButton clear = new JButton("C");
		clear.addActionListener(new ClearListener());
		buttonPanel.add(clear);
		
		JButton negate = new JButton("+/-");
		negate.addActionListener(new NegateListener());
		buttonPanel.add(negate);
		
		JButton seven = new JButton("7");
		seven.addActionListener(new SevenListener());
		buttonPanel.add(seven);
		
		JButton eight = new JButton("8");
		eight.addActionListener(new EightListener());
		buttonPanel.add(eight);
		
		JButton nine = new JButton("9");
		nine.addActionListener(new NineListener());
		buttonPanel.add(nine);
		
		JButton divide = new JButton("/");
		divide.addActionListener(new DivideListener());
		buttonPanel.add(divide);
		
		JButton four = new JButton("4");
		four.addActionListener(new FourListener());
		buttonPanel.add(four);
		
		JButton five = new JButton("5");
		five.addActionListener(new FiveListener());
		buttonPanel.add(five);
		
		JButton six = new JButton("6");
		six.addActionListener(new SixListener());
		buttonPanel.add(six);
		
		JButton multiply = new JButton("*");
		multiply.addActionListener(new MultiplyListener());
		buttonPanel.add(multiply);
		
		JButton one = new JButton("1");
		one.addActionListener(new OneListener());
		buttonPanel.add(one);
		
		JButton two = new JButton("2");
		two.addActionListener(new TwoListener());
		buttonPanel.add(two);
		
		JButton three = new JButton("3");
		three.addActionListener(new ThreeListener());
		buttonPanel.add(three);
		
		JButton subtract = new JButton("-");
		subtract.addActionListener(new SubtractListener());
		buttonPanel.add(subtract);
		
		JButton equals = new JButton("=");
		equals.addActionListener(new EqualsListener());
		Font bigFont = new Font("serif", Font.BOLD, 28);
		equals.setFont(bigFont);
		buttonPanel.add(equals);
		
		JButton zero = new JButton("0");
		zero.addActionListener(new ZeroListener());
		buttonPanel.add(zero);
		
		JButton point = new JButton(".");
		point.addActionListener(new PointListener());
		buttonPanel.add(point);
		
		JButton add = new JButton("+");
		add.addActionListener(new AddListener());
		buttonPanel.add(add);	
	}