private void loadConfigButtonActionPerformed(java.awt.event.ActionEvent evt)
	{
		JFileChooser fc = new JFileChooser();
		setFileFilter(fc, "nn", "Neuronales Netz", false);

		if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
		{
			String path = fc.getSelectedFile().getPath();

			Serializable.deserialize(path);
			myNetwork = Serializable.getNetwork();
			networkInitiated = true;
			// enable Buttons unavailable before Network is created
			this.addEditEdgeButton.setEnabled(true);
			this.addButton.setEnabled(true);
			this.removeButton.setEnabled(true);

			// Set gridPanelLayout size and add NeuronButtons...
			gridPanel.removeAll();
			gridPanelLayout.setColumns(myNetwork.maxLayerSize());
			gridPanelLayout.setRows(myNetwork.getLayerCount());

			// add empty label at all fields in the gridPanel
			for (int index = 0; index < (myNetwork.maxLayerSize() * myNetwork.getLayerCount()); index++)
			{
				gridPanel.add(new JLabel(""), index);
			}

			// add NeuronButtons at the relevant fields
			LinkedList<Neuron>[] neuronList = myNetwork.getNeuronLayer();
			for (int layer = 0; layer < neuronList.length; layer++)
			{
				for (int column = 0; column < neuronList[layer].size(); column++)
				{
					int index = (myNetwork.maxLayerSize() * layer) + column;
					gridPanel.remove(index);
					gridPanel.add(new NeuronButton("" + 0, layer, column, this), index);
				}
			}
			gridPanel.setVisible(false);
			gridPanel.setVisible(true);

			randomizeButton.setEnabled(true);
			
			this.updateButtonTexts();

			// set zoom and learning options
			neuronalNetworkSerializable.NeuronalNetworkGUIProperties nnGUIProp = new NeuronalNetworkGUIProperties();
			nnGUIProp = Serializable.getNeuornalNetworkGUIProperties();
			zoomComboBox.setSelectedIndex(nnGUIProp.getZoomOptionIndex());
			hSpaceTextField.setText(String.valueOf(nnGUIProp.gethSpace()));
			vSpaceTextField.setText(String.valueOf(nnGUIProp.getvSpace()));
			applyViewButton.doClick();

			if (nnGUIProp.learnOptionsIsSet())
			{
				learnRateTextField.setText(String.valueOf(nnGUIProp.getLearningRate()));
				ruleComboBox.setSelectedItem(nnGUIProp.getLearningRule());
				maxItTextField.setText(String.valueOf(nnGUIProp.getMaxIterations()));
				pathTextField.setText(nnGUIProp.getTrainingFilePath());
				applyEditButton.doClick();
			}
			nnGUIProp = null;
			
			this.setTitle(String.format("%s - %s", title, path));
		}
	}