protected void eventActionSpecial(ActionEvent e) throws Throwable {

    if (e.getActionCommand().equals(ACTION_SPECIAL_FLR_ANSPRECHPARTNER)) {

      String[] aWhichButtonIUse = null;

      QueryType[] querytypes = null;
      LPMain.getInstance();
      panelQueryFLRAnsprechpartnerAuswahl =
          new PanelQueryFLR(
              querytypes,
              null,
              QueryParameters.UC_ID_PARTNER,
              aWhichButtonIUse,
              getInternalFrame(),
              LPMain.getTextRespectUISPr("button.ansprechpartner.long"));

      panelQueryFLRAnsprechpartnerAuswahl.befuellePanelFilterkriterienDirekt(
          PartnerFilterFactory.getInstance().createFKDPartnerName(),
          PartnerFilterFactory.getInstance().createFKDPartnerLandPLZOrt());

      new DialogQuery(panelQueryFLRAnsprechpartnerAuswahl);
    } else if (e.getActionCommand().equals(ACTION_SPECIAL_FLR_ANSPRECHPARTNER_FUNKTION)) {
      String[] aWhichButtonIUse = null;
      QueryType[] querytypes = null;
      FilterKriterium[] filters = null;
      LPMain.getInstance();
      panelQueryFLRAnsprechpartnerfunktion =
          new PanelQueryFLR(
              querytypes,
              filters,
              QueryParameters.UC_ID_ANSPRECHPARTNERFUNKTION,
              aWhichButtonIUse,
              getInternalFrame(),
              LPMain.getTextRespectUISPr("part.ansprechpartner_funktion"));
      new DialogQuery(panelQueryFLRAnsprechpartnerfunktion);
    } else if (e.getActionCommand().equals(ACTION_SPECIAL_VCARD_EXPORT)) {
      HelperClient.vCardAlsDateiExportieren(
          DelegateFactory.getInstance()
              .getPartnerDelegate()
              .partnerFindByPrimaryKey(getAnsprechpartnerDto().getPartnerIId()),
          getAnsprechpartnerDto());
    } else if (e.getActionCommand().equals(ACTION_SPECIAL_PASSWORD)) {
      // Passwort Dialog erstellen
      DialogAnsprechpartnerPasswort d = new DialogAnsprechpartnerPasswort(getAnsprechpartnerDto());
      LPMain.getInstance().getDesktop().platziereDialogInDerMitteDesFensters(d);
      d.setVisible(true);

      if (getAnsprechpartnerDto().getCKennwort() != null) {
        wbuPasswort.setBackground(new Color(0, 200, 0));

      } else {
        wbuPasswort.setBackground(UIManager.getColor("Button.background"));
      }
    }
  }
 /**
  * Wert formatiert setzen und einfaerben.
  *
  * @param value Object
  */
 public void setValue(Object value) {
   setBackground(HelperClient.getHintergrundColor());
   setText("");
 }
  /**
   * Initialisiere alle Komponenten; braucht der JBX-Designer; hier bitte keine wilden Dinge wie zum
   * Server gehen, etc. machen.
   *
   * @throws Exception
   */
  private void jbInit() throws Exception {
    // das Aussenpanel hat immer das Gridbaglayout und einen Rahmen nach
    // innen von 10
    gridBagLayoutAll = new GridBagLayout();
    setLayout(gridBagLayoutAll);

    // auf dem Aussenpanel wird die Toolbar angebracht
    add(
        getToolsPanel(),
        new GridBagConstraints(
            0,
            0,
            1,
            1,
            1,
            0.0,
            GridBagConstraints.NORTHWEST,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // CK: Listen-Druck-Icon einbauen
    //		JButton bPrint = createAndSaveButton(
    //				"/com/lp/client/res/table_sql_view.png",
    //				LPMain.getTextRespectUISPr("lp.printer"),
    //				LEAVEALONE_PRINTPANELQUERY, null, null);
    //		bPrint.setEnabled(true);

    getToolBar()
        .addButtonRight(
            "/com/lp/client/res/table_sql_view.png",
            LPMain.getTextRespectUISPr("lp.printer"),
            LEAVEALONE_PRINTPANELQUERY,
            null,
            null);
    enableToolsPanelButtons(true, LEAVEALONE_PRINTPANELQUERY);
    //		getToolBar().getToolsPanelRight().add(bPrint);

    // auf dem Aussenpanel wird ausserdem das WorkingPanel angebracht, das
    // alles andere enthaelt
    panelWorkingOn = new JPanel();
    gridBagLayoutWorkingOn = new GridBagLayout();
    panelWorkingOn.setLayout(gridBagLayoutWorkingOn);
    add(
        panelWorkingOn,
        new GridBagConstraints(
            0,
            1,
            1,
            1,
            1.0,
            1.0,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile - das Panel mit den Filterkriterien
    panelWorkingOn.add(
        getPanelFilterKriterien(),
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile - das Panel fuer die optionale zweite Zeile
    iYGridBagNext++;

    panelWorkingOn.add(
        getPanelOptionaleZweiteZeile(),
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile
    iYGridBagNext++;

    dataSource = new DistributedTableDataSourceImpl(new Integer(idUsecase));

    tableModel = new DistributedTableModelImpl(this.dataSource);

    // String[] dbColumnNames = this.dataSource.getTableInfo()
    // .getDataBaseColumnNames();

    this.table = new WrapperTable(getInternalFrame(), this.tableModel);
    this.table.setLocale(LPMain.getInstance().getUISprLocale());
    // this.table.addKeyListener(this);
    // this.table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    // this.table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    this.table.setColumnSelectionAllowed(false);
    this.table.setRowSelectionAllowed(false);
    // this.table.addMouseListener(this);

    // Feature Spalten mit der Maus verschieben deaktivieren
    table.getTableHeader().setReorderingAllowed(false);

    tableScrollPane = new JScrollPane(table);
    tableScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    tableScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

    // die Tabelle hat ein hellgraues Gitter
    table.setGridColor(HelperClient.getHintergrundColor());

    // die erste Spalte ist immer der ZeilenHeader
    TableColumn tcZeilenHeader = table.getColumnModel().getColumn(0);
    tcZeilenHeader.setCellRenderer(new ZeilenHeaderRenderer());
    //		tcZeilenHeader.setPreferredWidth(SPALTENBREITE_ZEILENHEADER);

    /** @todo das kommt 2 mal vor -> eine Methode */
    // die restlichen Spalten werden per default formatiert

    // die Breite der Spalten einstellen
    columnHeaderWidths = dataSource.getTableInfo().getColumnHeaderWidths();

    if (columnHeaderWidths != null) {
      for (int i = 1; i < columnHeaderWidths.length; i++) {

        // alle Spalten mit -1 sind variabel
        if (columnHeaderWidths[i] != -1) {
          setColumnWidth(i, Helper.getBreiteInPixel(columnHeaderWidths[i]));
        }
      }
    }

    // die letzte Spalte Verstecken, wenn Color
    Class<?> letzteKlasse = dataSource.getColumnClasses()[dataSource.getColumnClasses().length - 1];
    if (letzteKlasse.equals(java.awt.Color.class)) {
      setColumnWidthToZero(dataSource.getColumnClasses().length - 1);
    }

    table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
    // Zeile
    iYGridBagNext++;

    panelWorkingOn.add(
        tableScrollPane,
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.7,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
  }