protected void components2Dto() throws Throwable {

    getAnsprechpartnerDto().setDGueltigab(wdfGueltigAb.getDate());
    getAnsprechpartnerDto().setXBemerkung(wefBemerkung.getText());
    getAnsprechpartnerDto().setISort(wtfSort.getInteger());
    getAnsprechpartnerDto().setBVersteckt(wcbVersteckt.getShort());
    getAnsprechpartnerDto().setCFremdsystemnr(wtfFremdsystem.getText());
    // Partnerkommunikation.

    getAnsprechpartnerDto().setCDirektfax(wtfDirektfax.getText());

    getAnsprechpartnerDto().setCTelefon(wtfDurchwahl.getText());

    getAnsprechpartnerDto().setCEmail(wtfEmail.getText());

    getAnsprechpartnerDto().setCFax(wtfFaxdurchwahl.getText());

    getAnsprechpartnerDto().setCHandy(wtfHandy.getText());
    getAnsprechpartnerDto().setNewsletterEmpfaenger(wcbNewsletterEmpfaenger.isSelected());
    getAnsprechpartnerDto().setCAbteilung(wtfAbteilung.getText());
  }
  protected void dto2Components(PartnerDto dto) throws Throwable {

    wefBemerkung.setText(getAnsprechpartnerDto().getXBemerkung());

    if (getAnsprechpartnerDto().getAnsprechpartnerfunktionIId() != null) {
      AnsprechpartnerfunktionDto ansprechpartnerfunktionDto =
          DelegateFactory.getInstance()
              .getAnsprechpartnerDelegate()
              .ansprechpartnerfunktionFindByPrimaryKey(
                  getAnsprechpartnerDto().getAnsprechpartnerfunktionIId());
      wtfAnsprechpartnerfunktion.setText(ansprechpartnerfunktionDto.getBezeichnung());
    } else {
      wtfAnsprechpartnerfunktion.setText(null);
    }

    PartnerDto partnerDto =
        DelegateFactory.getInstance()
            .getPartnerDelegate()
            .partnerFindByPrimaryKey(getAnsprechpartnerDto().getPartnerIIdAnsprechpartner());
    wtfAnsprechpartner.setText(partnerDto.getCName1nachnamefirmazeile1());

    // gotobutton: 4 Den Key des Datensatzes jedesmal zuordnen
    wbuAnsprechpartner.setOKey(partnerDto.getIId());

    wtfVorname.setText(partnerDto.getCName2vornamefirmazeile2());
    wtfTitel.setText(partnerDto.getCTitel());
    wtfNtitel.setText(partnerDto.getCNtitel());
    wcoAnrede.setKeyOfSelectedItem(partnerDto.getAnredeCNr());
    wdfGebDatum.setDate(partnerDto.getDGeburtsdatumansprechpartner());

    AnsprechpartnerDto ansprechpartnerDto = getAnsprechpartnerDto();

    wcbVersteckt.setShort(ansprechpartnerDto.getBVersteckt());
    wtfAbteilung.setText(ansprechpartnerDto.getCAbteilung());
    wdfGueltigAb.setDate(getAnsprechpartnerDto().getDGueltigab());

    // Partnerkommunikation

    wtfDirektfax.setText(getAnsprechpartnerDto().getCDirektfax());

    if (getAnsprechpartnerDto().getCEmail() != null) {
      wtfEmail.setEmail(getAnsprechpartnerDto().getCEmail(), getAnsprechpartnerDto());
    } else {
      wtfEmail.setEmail(null, null);
    }

    wtfFaxdurchwahl.setText(getAnsprechpartnerDto().getCFax());

    wtfDurchwahl.setPartnerKommunikationDto(dto, getAnsprechpartnerDto().getCTelefon());

    if (getAnsprechpartnerDto().getCHandy() != null) {
      wtfHandy.setPartnerKommunikationDto(
          getAnsprechpartnerDto().getPartnerDto(), getAnsprechpartnerDto().getCHandy());
    } else {
      wtfHandy.setPartnerKommunikationDto(null, null);
    }

    wtfSort.setInteger(ansprechpartnerDto.getISort());
    wtfFremdsystem.setText(ansprechpartnerDto.getCFremdsystemnr());

    wcbNewsletterEmpfaenger.setSelected(ansprechpartnerDto.isNewsletterEmpfaenger());

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

    } else {
      wbuPasswort.setBackground(UIManager.getColor("Button.background"));
    }
  }
  private void jbInit() throws Throwable {
    getInternalFrame().addItemChangedListener(this);

    // Buttons.
    String[] aButton = {
      PanelBasis.ACTION_UPDATE,
      PanelBasis.ACTION_SAVE,
      PanelBasis.ACTION_DELETE,
      PanelBasis.ACTION_DISCARD
    };
    enableToolsPanelButtons(aButton);

    // border = BorderFactory.createEmptyBorder(10, 10, 10, 10);
    // setBorder(border);

    // Das Aussenpanel hat immer das Gridbaglayout.
    gridBagLayoutAll = new GridBagLayout();
    setLayout(gridBagLayoutAll);

    // Ab hier Ansprechpartnerfelder.
    wlaGueltigAb = new WrapperLabel();
    LPMain.getInstance();
    wlaGueltigAb.setText(LPMain.getTextRespectUISPr("lp.gueltigab"));
    wdfGueltigAb = new WrapperDateField();
    wdfGueltigAb.setMandatoryFieldDB(true);

    wlaTitel = new WrapperLabel();
    wlaNtitel = new WrapperLabel();
    wlaVorname = new WrapperLabel();
    wlaGebDatum = new WrapperLabel();
    LPMain.getInstance();
    wlaTitel.setText(LPMain.getTextRespectUISPr("lp.titel"));
    LPMain.getInstance();
    wlaNtitel.setText(LPMain.getTextRespectUISPr("lp.ntitel"));
    LPMain.getInstance();
    wlaVorname = new WrapperLabel(LPMain.getTextRespectUISPr("lp.vorname"));
    wlaGebDatum.setText(LPMain.getTextRespectUISPr("pers.personalangehoerige.geburtsdatum"));

    wcbVersteckt.setText(LPMain.getTextRespectUISPr("lp.versteckt"));
    wcbNewsletterEmpfaenger.setText(
        LPMain.getTextRespectUISPr("part.ansprechpartner.newsletterempfaenger"));

    wlaAbteilung = new WrapperLabel(LPMain.getTextRespectUISPr("lp.abteilung"));
    wtfAbteilung = new WrapperTextField();

    wtfVorname = new WrapperTextField();
    wdfGebDatum = new WrapperDateField();
    wcoAnrede = new WrapperComboBox();
    wtfTitel = new WrapperTextField();
    wtfNtitel = new WrapperTextField();

    wtfAnsprechpartnerfunktion = new WrapperTextField();
    wtfAnsprechpartnerfunktion.setActivatable(false);
    wtfAnsprechpartnerfunktion.setMandatoryFieldDB(true);

    wbuAnsprechpartnerfunktion = new WrapperButton();
    wbuAnsprechpartnerfunktion.setText(LPMain.getTextRespectUISPr("part.ansprechpartner_funktion"));
    wbuAnsprechpartnerfunktion.setActionCommand(ACTION_SPECIAL_FLR_ANSPRECHPARTNER_FUNKTION);
    wbuAnsprechpartnerfunktion.addActionListener(this);

    // gotobutton: 3 Anstatt des WrapperButtons den WrapperGotoButton
    // verwenden
    wbuAnsprechpartner = new WrapperGotoButton(WrapperGotoButton.GOTO_PARTNER_AUSWAHL);
    wbuAnsprechpartner.setText(LPMain.getTextRespectUISPr("button.ansprechpartner.long"));
    wbuAnsprechpartner.setActionCommand(ACTION_SPECIAL_FLR_ANSPRECHPARTNER);
    wbuAnsprechpartner.addActionListener(this);

    wtfAnsprechpartner = new WrapperTextField();
    wtfAnsprechpartner.setMandatoryFieldDB(true);

    wlaBemerkung = new WrapperLabel(LPMain.getTextRespectUISPr("lp.bemerkung"));
    wlaBemerkung.setVerticalAlignment(SwingConstants.NORTH);
    wefBemerkung =
        new WrapperEditorFieldTexteingabe(
            getInternalFrame(), LPMain.getTextRespectUISPr("lp.bemerkung"));

    wlaDurchwahl = new WrapperLabel();
    wlaDurchwahl.setText(LPMain.getTextRespectUISPr("lp.durchwahl"));
    wlaDurchwahl.setMinimumSize(new Dimension(170, Defaults.getInstance().getControlHeight()));
    wlaDurchwahl.setPreferredSize(new Dimension(170, Defaults.getInstance().getControlHeight()));

    wtfDurchwahl = new WrapperTelefonField(PartnerFac.MAX_KOMMART_INHALT);
    wtfDurchwahl.setIstAnsprechpartner(true);
    wtfDurchwahl.setMinimumSize(new Dimension(170, Defaults.getInstance().getControlHeight()));
    wtfDurchwahl.setPreferredSize(new Dimension(170, Defaults.getInstance().getControlHeight()));

    wlaEmail = new WrapperLabel();
    LPMain.getInstance();
    wlaEmail.setText(LPMain.getTextRespectUISPr("lp.email"));
    wlaEmail.setMinimumSize(new Dimension(60, Defaults.getInstance().getControlHeight()));
    wlaEmail.setPreferredSize(new Dimension(60, Defaults.getInstance().getControlHeight()));
    wtfEmail = new WrapperEmailField();

    LPMain.getInstance();
    wlaFremdsystem =
        new WrapperLabel(LPMain.getTextRespectUISPr("part.ansprechpartner.fremdsystem"));
    wtfFremdsystem = new WrapperTextField(30);

    wlaFaxdurchwahl = new WrapperLabel();
    LPMain.getInstance();
    wlaFaxdurchwahl = new WrapperLabel(LPMain.getTextRespectUISPr("lp.faxdurchwahl"));
    wtfFaxdurchwahl = new WrapperTextField(PartnerFac.MAX_KOMMART_INHALT);

    wlaHandy = new WrapperLabel();
    LPMain.getInstance();
    wlaHandy = new WrapperLabel(LPMain.getTextRespectUISPr("lp.handy"));
    wtfHandy = new WrapperTelefonField(PartnerFac.MAX_KOMMART_INHALT);

    wlaDirektfax = new WrapperLabel();
    LPMain.getInstance();
    wlaDirektfax = new WrapperLabel(LPMain.getTextRespectUISPr("lp.direktfax"));
    wtfDirektfax = new WrapperTextField(PartnerFac.MAX_KOMMART_INHALT);

    wlaSort = new WrapperLabel();
    LPMain.getInstance();
    wlaSort = new WrapperLabel(LPMain.getTextRespectUISPr("label.sortierung"));
    wtfSort = new WrapperTextNumberField();
    wtfSort.setMandatoryFieldDB(true);
    wtfSort.setMinimumValue(new Integer(0));
    wtfSort.setMaximumDigits(4);
    wtfSort.setMaximumValue(new Integer(9999));

    wbuPasswort = new WrapperButton(LPMain.getTextRespectUISPr("part.ansprechpartner.passwort"));
    wbuPasswort.addActionListener(this);
    wbuPasswort.setActionCommand(ACTION_SPECIAL_PASSWORD);

    jpaWorkingOn = new JPanel(new MigLayout("wrap 8", "[25%][10%][20%][10%][10%][10%][20%]"));

    // Actionpanel von Oberklasse holen und einhaengen.
    panelButtonAction = getToolsPanel();
    add(
        panelButtonAction,
        new GridBagConstraints(
            0,
            0,
            1,
            1,
            0.0,
            0.0,
            GridBagConstraints.NORTHWEST,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));
    add(
        jpaWorkingOn,
        new GridBagConstraints(
            0,
            1,
            1,
            1,
            1.0,
            1.0,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Statusbar an den unteren Rand des Panels haengen.
    add(
        getPanelStatusbar(),
        new GridBagConstraints(
            0,
            2,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.CENTER,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Ab hier einhaengen.
    // Zeile

    jpaWorkingOn.add(wbuAnsprechpartner, "growx");
    jpaWorkingOn.add(wcoAnrede, "growx, width 70:70:70");
    jpaWorkingOn.add(wtfAnsprechpartner, "growx");
    jpaWorkingOn.add(wlaGebDatum, "growx, width 70:70:70");
    jpaWorkingOn.add(wdfGebDatum, "growx");
    jpaWorkingOn.add(wlaGueltigAb, "growx");
    jpaWorkingOn.add(wdfGueltigAb, "growx, span2");

    jpaWorkingOn.add(wcbNewsletterEmpfaenger, "growx");
    jpaWorkingOn.add(wlaVorname, "growx");
    jpaWorkingOn.add(wtfVorname, "growx");
    jpaWorkingOn.add(wlaTitel, "growx");
    jpaWorkingOn.add(wtfTitel, "growx");
    jpaWorkingOn.add(wlaNtitel, "growx, width 50:50:50");
    jpaWorkingOn.add(wtfNtitel, "growx, span2");

    jpaWorkingOn.add(wbuAnsprechpartnerfunktion, "growx");
    jpaWorkingOn.add(wtfAnsprechpartnerfunktion, "growx, span 2");
    jpaWorkingOn.add(wlaAbteilung, "growx");
    jpaWorkingOn.add(wtfAbteilung, "growx, span 3, wrap");

    jpaWorkingOn.add(wlaBemerkung, "top, growx");
    jpaWorkingOn.add(wefBemerkung, "grow, span");
    iZeile++;
    jpaWorkingOn.add(wlaDurchwahl, "growx");
    jpaWorkingOn.add(wtfDurchwahl, "growx, span 2");
    jpaWorkingOn.add(wlaEmail, "growx, span 2");
    jpaWorkingOn.add(wtfEmail, "growx, span");
    iZeile++;
    jpaWorkingOn.add(wlaFaxdurchwahl, "growx");
    jpaWorkingOn.add(wtfFaxdurchwahl, "growx, span 2");
    jpaWorkingOn.add(wlaHandy, "growx, span 2");
    jpaWorkingOn.add(wtfHandy, "growx, span");
    iZeile++;
    jpaWorkingOn.add(wlaDirektfax, "growx");
    jpaWorkingOn.add(wtfDirektfax, "growx, span 2");
    jpaWorkingOn.add(wlaFremdsystem, "growx, span 2");
    jpaWorkingOn.add(wtfFremdsystem, "growx, span");
    iZeile++;
    jpaWorkingOn.add(wlaSort, "top, growx");
    jpaWorkingOn.add(wtfSort, "top, growx, span 2");

    if (DelegateFactory.getInstance()
        .getTheJudgeDelegate()
        .hatRecht(com.lp.server.benutzer.service.RechteFac.RECHT_LP_DARF_VERSTECKTE_SEHEN)) {
      jpaWorkingOn.add(wcbVersteckt, "skip 2, growx, width 80:80:80");
    } else {
      jpaWorkingOn.add(new WrapperLabel(""), "skip 2, growx");
    }

    jpaWorkingOn.add(wbuPasswort, "growx");

    // Zeile

    createAndSaveAndShowButton(
        "/com/lp/client/res/book_open2.png",
        LPMain.getTextRespectUISPr("part.partner.export.vcard"),
        ACTION_SPECIAL_VCARD_EXPORT,
        null);
  }