public GayBerneConfigure() {

		super(new BorderLayout());

		if (rotateCursor1 == null) {
			rotateCursor1 = UserAction.createCursor("images/cursors/rotate1.gif", new Point(16, 17), "rotate");
			rotateCursor2 = UserAction.createCursor("images/cursors/rotate2.gif", new Point(14, 11), "rotate");
			rotateCursor3 = UserAction.createCursor("images/cursors/rotate3.gif", new Point(16, 17), "rotate");
		}

		ellipsePanel = new EllipsePanel();

		JPanel panel = new JPanel(new BorderLayout());
		panel.add(ellipsePanel, BorderLayout.CENTER);
		panel.setBorder(BorderFactory.createTitledBorder("Geometric Anisotropy"));

		JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
		p.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

		ButtonGroup bg = new ButtonGroup();
		Dimension dim = ModelerUtilities.getSystemToolBarButtonSize();

		AbstractButton rb = new JToggleButton(IconPool.getIcon("resize"));
		rb.setToolTipText("Resize the particle");
		rb.setPreferredSize(dim);
		rb.setHorizontalAlignment(SwingConstants.CENTER);
		rb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				ellipsePanel.setState(EllipsePanel.RESIZE);
				ellipsePanel.repaint();
			}
		});
		rb.setSelected(true);
		p.add(rb);
		bg.add(rb);

		rb = new JToggleButton(new ImageIcon(getClass().getResource("images/Rotate.gif")));
		rb.setToolTipText("Assign an initial angle");
		rb.setPreferredSize(dim);
		rb.setHorizontalAlignment(SwingConstants.CENTER);
		rb.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				ellipsePanel.setState(EllipsePanel.ROTATE);
				ellipsePanel.repaint();
			}
		});
		p.add(rb);
		bg.add(rb);

		colorComboBox = new ColorComboBox(this);
		colorComboBox.setName(GB_COLOR);
		colorComboBox.setPreferredSize(new Dimension(100, dim.height));
		colorComboBox.setSelectedIndex(2);
		colorComboBox.updateColor(new Runnable() {
			public void run() {
				color = colorComboBox.getMoreColor();
				ellipsePanel.repaint();
			}
		});
		colorComboBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String actionName = colorComboBox.getName();
				int id = 0;
				if (actionName.equals(GB_COLOR)) {
					id = ((Integer) colorComboBox.getSelectedItem()).intValue();
				}
				if (id == 6 || id == 100) {
					color = colorComboBox.getMoreColor();
				}
				else {
					color = ColorRectangle.COLORS[id];
				}
				ellipsePanel.repaint();
			}
		});
		p.add(colorComboBox);

		panel.add(p, BorderLayout.NORTH);

		add(panel, BorderLayout.NORTH);

		eAnisotropy = new JLabel("<html>&#949;<sub>e</sub>/&#949;<sub>s</sub></html>", SwingConstants.CENTER);

		slider1 = new JSlider(JSlider.HORIZONTAL, -10, 10, 0);
		slider1.setPreferredSize(new Dimension(100, 50));
		slider1.setMajorTickSpacing(5);
		slider1.setMinorTickSpacing(5);
		slider1.setPaintTicks(true);
		slider1.setPaintTrack(true);
		slider1.setPaintLabels(true);
		slider1.addChangeListener(new ChangeListener() {
			public void stateChanged(ChangeEvent e) {
				JSlider source = (JSlider) e.getSource();
				if (!source.getValueIsAdjusting()) {
					eeVsEs = source.getValue();
					if (eeVsEs < 1.0 && eeVsEs > -1.0)
						eeVsEs = 1.0;
					eeVsEs = eeVsEs > 0 ? eeVsEs : -1.0 / eeVsEs;
					eAnisotropy.setText("<html>&#949;<sub>e</sub>/&#949;<sub>s</sub> = "
							+ scientificFormat.format(eeVsEs) + "</html>");
				}
			}
		});
		Hashtable<Integer, JLabel> tableOfLabels = new Hashtable<Integer, JLabel>();
		JLabel label = new JLabel("10.0");
		label.setFont(littleFont);
		tableOfLabels.put(10, label);
		label = new JLabel("5.0");
		label.setFont(littleFont);
		tableOfLabels.put(5, label);
		label = new JLabel("1.0");
		label.setFont(littleFont);
		tableOfLabels.put(0, label);
		label = new JLabel("0.2");
		label.setFont(littleFont);
		tableOfLabels.put(-5, label);
		label = new JLabel("0.1");
		label.setFont(littleFont);
		tableOfLabels.put(-10, label);
		slider1.setLabelTable(tableOfLabels);

		panel = new JPanel(new BorderLayout(0, 20));
		panel.add(slider1, BorderLayout.NORTH);

		scientificFormat.applyPattern("##.###");
		eAnisotropy.setText("<html>&#949;<sub>e</sub>/&#949;<sub>s</sub>  = " + scientificFormat.format((float) eeVsEs)
				+ "</html>");
		eAnisotropy.setBorder(BorderFactory.createTitledBorder("Slider Value"));
		panel.add(eAnisotropy, BorderLayout.CENTER);

		p = new JPanel(new BorderLayout());
		p.setBorder(BorderFactory.createTitledBorder("Energetic Anisotropic Ratio"));
		p.add(panel, BorderLayout.EAST);

		label = new JLabel(new ImageIcon(getClass().getResource("images/EnergyAnisotropy.gif")));
		label.setBorder(BorderFactory.createLoweredBevelBorder());
		p.add(label, BorderLayout.WEST);

		add(p, BorderLayout.CENTER);

		panel = new JPanel(new BorderLayout(10, 10));
		panel.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10));

		scientificFormat.applyPattern("#.###");
		epsilon0_label = new JLabel("<html>&#949;<sub>0</sub> = " + scientificFormat.format(epsilon0) + "</html>");
		epsilon0_label.setBorder(BorderFactory.createTitledBorder("Value"));
		panel.add(epsilon0_label, BorderLayout.EAST);

		slider2 = new JSlider(JSlider.HORIZONTAL, 0, 50, 10);
		slider2.setBorder(BorderFactory.createTitledBorder("Potential Well Depth"));
		slider2.setMajorTickSpacing(10);
		slider2.setMinorTickSpacing(5);
		slider2.setPaintTicks(true);
		slider2.setPaintTrack(true);
		slider2.setPaintLabels(true);
		tableOfLabels = new Hashtable<Integer, JLabel>();
		label = new JLabel("0.1 eV");
		label.setFont(littleFont);
		tableOfLabels.put(50, label);
		label = new JLabel("0.05 eV");
		label.setFont(littleFont);
		tableOfLabels.put(25, label);
		label = new JLabel("0 eV");
		label.setFont(littleFont);
		tableOfLabels.put(0, label);
		slider2.setLabelTable(tableOfLabels);
		slider2.addChangeListener(new ChangeListener() {
			public void stateChanged(ChangeEvent e) {
				JSlider source = (JSlider) e.getSource();
				if (!source.getValueIsAdjusting()) {
					epsilon0 = source.getValue() * 0.002;
					epsilon0_label.setText("<html>&#949;<sub>0</sub>  = " + scientificFormat.format(epsilon0)
							+ "</html>");
				}
			}
		});
		panel.add(slider2, BorderLayout.CENTER);

		add(panel, BorderLayout.SOUTH);

	}