public AdjustStatEditor() {
		setTitle("Adjust Stats");
		setBounds(100, 100, 400, 300);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		
		JLabel lblVitality = new JLabel("Vitality");
		lblVitality.setBounds(10, 11, 46, 14);
		contentPanel.add(lblVitality);
		
		vitalitySpinner = new JSpinner();
		vitalitySpinner.setModel(new SpinnerNumberModel(new Float(0), null, null, new Float(1)));
		vitalitySpinner.setBounds(10, 36, 46, 20);
		contentPanel.add(vitalitySpinner);
		
		JLabel lblVigor = new JLabel("Vigor");
		lblVigor.setBounds(10, 67, 46, 14);
		contentPanel.add(lblVigor);
		
		vigorSpinner = new JSpinner();
		vigorSpinner.setModel(new SpinnerNumberModel(new Float(0), null, null, new Float(1)));
		vigorSpinner.setBounds(10, 92, 46, 20);
		contentPanel.add(vigorSpinner);
		
		JLabel lblVirtue = new JLabel("Virtue");
		lblVirtue.setBounds(10, 123, 46, 14);
		contentPanel.add(lblVirtue);
		
		virtueSpinner = new JSpinner();
		virtueSpinner.setModel(new SpinnerNumberModel(new Float(0), null, null, new Float(1)));
		virtueSpinner.setBounds(10, 148, 46, 20);
		contentPanel.add(virtueSpinner);
		
		JLabel lblVivacity = new JLabel("Vivacity");
		lblVivacity.setBounds(10, 179, 46, 14);
		contentPanel.add(lblVivacity);
		
		vivacitySpinner = new JSpinner();
		vivacitySpinner.setModel(new SpinnerNumberModel(new Float(0), null, null, new Float(1)));
		vivacitySpinner.setBounds(10, 204, 46, 20);
		contentPanel.add(vivacitySpinner);
		
		rdbtnActivator = new JRadioButton("Activator");
		rdbtnActivator.setSelected(true);
		buttonGroup.add(rdbtnActivator);
		rdbtnActivator.setBounds(269, 7, 109, 23);
		contentPanel.add(rdbtnActivator);
		
		rdbtnSource = new JRadioButton("Source");
		buttonGroup.add(rdbtnSource);
		rdbtnSource.setBounds(269, 35, 109, 23);
		contentPanel.add(rdbtnSource);
		
		rdbtnSelect = new JRadioButton("Select...");
		rdbtnSelect.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if(rdbtnSelect.isSelected()) {
					selectCombo.setEnabled(true);
				} else {
					selectCombo.setEnabled(false);
				}
			}
		});
		buttonGroup.add(rdbtnSelect);
		rdbtnSelect.setBounds(269, 63, 109, 23);
		contentPanel.add(rdbtnSelect);
		
		selectCombo = new JComboBox<String>();
		selectCombo.setModel(buildSelectCombo());
		selectCombo.setBounds(269, 91, 109, 22);
		contentPanel.add(selectCombo);
		
		vitalityMaxCheck = new JRadioButton("Max");
		buttonGroup_1.add(vitalityMaxCheck);
		vitalityMaxCheck.setBounds(123, 34, 55, 23);
		contentPanel.add(vitalityMaxCheck);
		
		vigorMaxCheck = new JRadioButton("Max");
		buttonGroup_2.add(vigorMaxCheck);
		vigorMaxCheck.setBounds(123, 90, 55, 23);
		contentPanel.add(vigorMaxCheck);
		
		virtueMaxCheck = new JRadioButton("Max");
		buttonGroup_3.add(virtueMaxCheck);
		virtueMaxCheck.setBounds(123, 146, 55, 23);
		contentPanel.add(virtueMaxCheck);
		
		vivacityMaxCheck = new JRadioButton("Max");
		buttonGroup_4.add(vivacityMaxCheck);
		vivacityMaxCheck.setBounds(123, 202, 55, 23);
		contentPanel.add(vivacityMaxCheck);
		
		vitalityEmptyCheck = new JRadioButton("Empty");
		buttonGroup_1.add(vitalityEmptyCheck);
		vitalityEmptyCheck.setBounds(182, 34, 67, 23);
		contentPanel.add(vitalityEmptyCheck);
		
		vigorEmptyCheck = new JRadioButton("Empty");
		buttonGroup_2.add(vigorEmptyCheck);
		vigorEmptyCheck.setBounds(182, 90, 67, 23);
		contentPanel.add(vigorEmptyCheck);
		
		virtueEmptyCheck = new JRadioButton("Empty");
		buttonGroup_3.add(virtueEmptyCheck);
		virtueEmptyCheck.setBounds(182, 146, 67, 23);
		contentPanel.add(virtueEmptyCheck);
		
		vivacityEmptyCheck = new JRadioButton("Empty");
		buttonGroup_4.add(vivacityEmptyCheck);
		vivacityEmptyCheck.setBounds(182, 202, 67, 23);
		contentPanel.add(vivacityEmptyCheck);
		
		separator = new JSeparator();
		separator.setOrientation(SwingConstants.VERTICAL);
		separator.setBounds(257, 11, 2, 213);
		contentPanel.add(separator);
		
		vitalityStaticCheck = new JRadioButton("Static");
		vitalityStaticCheck.setSelected(true);
		buttonGroup_1.add(vitalityStaticCheck);
		vitalityStaticCheck.setBounds(64, 35, 55, 23);
		contentPanel.add(vitalityStaticCheck);
		
		vigorStaticCheck = new JRadioButton("Static");
		vigorStaticCheck.setSelected(true);
		buttonGroup_2.add(vigorStaticCheck);
		vigorStaticCheck.setBounds(64, 91, 55, 23);
		contentPanel.add(vigorStaticCheck);
		
		virtueStaticCheck = new JRadioButton("Static");
		virtueStaticCheck.setSelected(true);
		buttonGroup_3.add(virtueStaticCheck);
		virtueStaticCheck.setBounds(64, 147, 55, 23);
		contentPanel.add(virtueStaticCheck);
		
		vivacityStaticCheck = new JRadioButton("Static");
		vivacityStaticCheck.setSelected(true);
		buttonGroup_4.add(vivacityStaticCheck);
		vivacityStaticCheck.setBounds(64, 203, 55, 23);
		contentPanel.add(vivacityStaticCheck);
		{
			JPanel buttonPane = new JPanel();
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane, BorderLayout.SOUTH);
			{
				JButton okButton = new JButton("OK");
				okButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						save();
						dispose();
					}
				});
				okButton.setActionCommand("OK");
				buttonPane.add(okButton);
				getRootPane().setDefaultButton(okButton);
			}
			{
				JButton cancelButton = new JButton("Cancel");
				cancelButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						dispose();
					}
				});
				cancelButton.setActionCommand("Cancel");
				buttonPane.add(cancelButton);
			}
		}
		
		setModalityType(ModalityType.APPLICATION_MODAL);
		setVisible(true);
	}