public void initGUI() {
		try {
			this.getContentPane().setLayout(new BoxLayout(this.getContentPane(), javax.swing.BoxLayout.Y_AXIS));
			this.getContentPane().add(tabbedConversion);
			this.setTitle("Conversion Tool");
			this.setSize(400, 400);
			
			// Setup tabbed pane
			tabbedConversion.addTab("Pressure", null, panelPressure, null);
			tabbedConversion.addTab("Temperature", null, panelTemp, null);
			tabbedConversion.addTab("Gravity", null, panelGravity, null);
			tabbedConversion.addTab("Volume", null, panelVol, null);
			tabbedConversion.addTab("Weight", null, panelWeight, null);
			
			// Pressure
			{
				constraints.fill = GridBagConstraints.BOTH;
				panelPressure.setLayout(gridBag);
				panelPressure.setBorder(BorderFactory.createTitledBorder("Pressure Units"));
				constraints.fill = GridBagConstraints.HORIZONTAL;

				// Setup special arrays
				Quantity.Converter[] pres = Quantity.pressureUnits;
				for (int i = 0; i < pres.length; i++) {
					lPres[i] = new JLabel(SBStringUtils.capitalize(pres[i].unit));
					textPres[i] = new JTextField("0");
					lPresU[i] = new JLabel(pres[i].abrv);
					
					// Add to panel
					constraints.fill = GridBagConstraints.HORIZONTAL;
					constraints.gridx = 0;
					constraints.gridy = i;
					panelPressure.add(lPres[i], constraints);
					constraints.gridx = 1;
					constraints.ipadx = 60;
					panelPressure.add(textPres[i], constraints);
					textPres[i].addFocusListener(this);
					textPres[i].addActionListener(this);
					textPres[i].addKeyListener(this);
					constraints.ipadx = 0;
					constraints.gridx = 2;
					panelPressure.add(lPresU[i], constraints);
				}	
			}
			// Temp
			{
				constraints.fill = GridBagConstraints.BOTH;
				panelTemp.setLayout(gridBag);
				panelTemp.setBorder(BorderFactory.createTitledBorder("Temperature Units"));
				constraints.fill = GridBagConstraints.HORIZONTAL;

				constraints.gridx = 0;
				constraints.gridy = 0;
				panelTemp.add(lF, constraints);				
				constraints.gridx = 1;
				constraints.ipadx = 60;
				panelTemp.add(textF, constraints);				
				textF.addFocusListener(this);
				textF.addActionListener(this);
				textF.addKeyListener(this);
				constraints.ipadx = 0;
				constraints.gridx = 2;
				panelTemp.add(lFU, constraints);				

				constraints.gridx = 0;
				constraints.gridy = 1;
				panelTemp.add(lC, constraints);				
				constraints.gridx = 1;
				constraints.ipadx = 60;
				panelTemp.add(textC, constraints);				
				textC.addFocusListener(this);
				textC.addActionListener(this);
				textC.addKeyListener(this);
				constraints.ipadx = 0;
				constraints.gridx = 2;
				panelTemp.add(lCU, constraints);				
			}
			// Gravity
			{
				constraints.fill = GridBagConstraints.BOTH;
				panelGravity.setLayout(gridBag);
				panelGravity.setBorder(BorderFactory.createTitledBorder("Graivty Units"));
				constraints.fill = GridBagConstraints.HORIZONTAL;

				constraints.gridx = 0;
				constraints.gridy = 0;
				panelGravity.add(lSG, constraints);				
				constraints.gridx = 1;
				constraints.ipadx = 60;
				panelGravity.add(textSG, constraints);				
				textSG.addFocusListener(this);
				textSG.addActionListener(this);
				textSG.addKeyListener(this);
				constraints.ipadx = 0;
				constraints.gridx = 2;
				panelGravity.add(lSGU, constraints);				

				constraints.gridx = 0;
				constraints.gridy = 1;
				panelGravity.add(lPlato, constraints);				
				constraints.gridx = 1;
				constraints.ipadx = 60;
				panelGravity.add(textPlato, constraints);				
				textPlato.addFocusListener(this);
				textPlato.addActionListener(this);
				textPlato.addKeyListener(this);
				constraints.ipadx = 0;
				constraints.gridx = 2;
				panelGravity.add(lPlatoU, constraints);				

				constraints.gridx = 0;
				constraints.gridy = 2;
				panelGravity.add(lGU, constraints);				
				constraints.gridx = 1;
				constraints.ipadx = 60;
				panelGravity.add(textGU, constraints);				
				textGU.addFocusListener(this);
				textGU.addActionListener(this);
				textGU.addKeyListener(this);
				constraints.ipadx = 0;
				constraints.gridx = 2;
				panelGravity.add(lGUU, constraints);								
			}
			// Vol
			{
				constraints.fill = GridBagConstraints.BOTH;
				panelVol.setLayout(gridBag);
				panelVol.setBorder(BorderFactory.createTitledBorder("Volume Units"));
				constraints.fill = GridBagConstraints.HORIZONTAL;
				
				// Setup special arrays
				Quantity.Converter[] vols = Quantity.volUnits;
				for (int i = 0; i < vols.length; i++) {
					lVols[i] = new JLabel(SBStringUtils.capitalize(vols[i].unit));
					textVols[i] = new JTextField("0");
					lVolsU[i] = new JLabel(vols[i].abrv);
					
					// Add to panel
					constraints.fill = GridBagConstraints.HORIZONTAL;
					constraints.gridx = 0;
					constraints.gridy = i;
					panelVol.add(lVols[i], constraints);
					constraints.gridx = 1;
					constraints.ipadx = 60;
					panelVol.add(textVols[i], constraints);
					textVols[i].addFocusListener(this);
					textVols[i].addActionListener(this);
					textVols[i].addKeyListener(this);
					constraints.ipadx = 0;
					constraints.gridx = 2;
					panelVol.add(lVolsU[i], constraints);
				}
			}
			// Weight
			{
				constraints.fill = GridBagConstraints.BOTH;
				panelWeight.setLayout(gridBag);
				panelWeight.setBorder(BorderFactory.createTitledBorder("Weight Units"));
				constraints.fill = GridBagConstraints.HORIZONTAL;
				
				// Setup special arrays
				Quantity.Converter[] weights = Quantity.weightUnits;
				for (int i = 0; i < weights.length; i++) {
					lWeights[i] = new JLabel(SBStringUtils.capitalize(weights[i].unit));
					textWeights[i] = new JTextField("0");
					lWeightsU[i] = new JLabel(weights[i].abrv);
					
					// Add to panel
					constraints.fill = GridBagConstraints.HORIZONTAL;
					constraints.gridx = 0;
					constraints.gridy = i;
					panelWeight.add(lWeights[i], constraints);
					constraints.gridx = 1;
					constraints.ipadx = 60;
					panelWeight.add(textWeights[i], constraints);
					textWeights[i].addFocusListener(this);
					textWeights[i].addActionListener(this);
					textWeights[i].addKeyListener(this);
					constraints.ipadx = 0;
					constraints.gridx = 2;
					panelWeight.add(lWeightsU[i], constraints);
				}								
			}			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}