public synchronized void initComponent() {
		this.setName("Produktsuche");
		this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));// aeusserer rahmen
		// untereinander

		// Produktsuche
		JPanel rahmen = new JPanel();

		rahmen.setLayout(new BoxLayout(rahmen, BoxLayout.X_AXIS));// ob.
		// rahmen,
		// nebeneinander
		this.add(new BorderPanel(rahmen, "Suche", 1000, 60));
		logger.fine("Breite: " + rahmen.getWidth() + "\tHoehe: " + rahmen.getHeight());

		rahmen.add(prodSuche);
		rahmen.add(c_books);
		rahmen.add(c_dvds);
		rahmen.add(c_musix);

		JButton produktSuchen = new JButton("suchen");

		rahmen.add(produktSuchen);

		/*
		 * Tabelle erzeugen und darstellen.
		 */
		JPanel rahmenTabelle = new JPanel();
		rahmenTabelle.setLayout(new BoxLayout(rahmenTabelle, BoxLayout.Y_AXIS));

		rahmenTabelle.setName("Produktsuche - Rahmen fuer die Produkte");
		table = new Table();
		table.createTable(rahmenTabelle);
		table.getTable().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		table.getTable().getSelectionModel().addListSelectionListener(new ListSelectionListener() {
			public void valueChanged(ListSelectionEvent e) {
				int selectionIndex = table.getTable().getSelectionModel().getMinSelectionIndex();
				if (selectionIndex >= 0) {
					Product product = productList.get(selectionIndex);
					details.loadDetailsFromProduct(product);
				}
			}
		});

		JPanel abstandhalter = new JPanel();
		rahmenTabelle.add(abstandhalter);
		this.add(new BorderPanel(rahmenTabelle, "Produktuebersicht"), true);

		// actionListen fuer den Suchen-Knopf
		produktSuchen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				fillProductTable(e);
			}
		});
		prodSuche.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				fillProductTable(e);
			}
		});

	}