/* constructor de la clase */
  public BienesRevertiblesJDialog(
      JFrame frame,
      char tipo,
      String locale,
      BienRevertible bienRevertibleAux,
      String operacion,
      String tipoBien)
      throws Exception {
    super(frame);
    this.bienRevertible = bienRevertibleAux;
    tipoOperacion = operacion;
    aplicacion = (AppContext) AppContext.getApplicationContext();
    renombrarComponentes();
    inventarioClient =
        new InventarioClient(
            aplicacion.getString(AppContext.GEOPISTA_CONEXION_ADMINISTRADORCARTOGRAFIA)
                + Constantes.INVENTARIO_SERVLET_NAME);

    getContentPane().setLayout(new BorderLayout());
    /* Cargamos la lista */

    okCancelPanel.addActionListener(
        new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            okCancelPanel_actionPerformed(e);
          }
        });
    this.addComponentListener(
        new java.awt.event.ComponentAdapter() {
          public void componentShown(ComponentEvent e) {
            this_componentShown(e);
          }
        });

    setModal(true);
    boolean enabled =
        Constantes.OPERACION_MODIFICAR.equals(operacion)
            || Constantes.OPERACION_ANNADIR.equals(operacion);
    brp = new BienesRevertiblesPanel(bienRevertible, locale);
    brp.setEnabled(enabled);
    JTabbedPane panelPestanias = new JTabbedPane();
    panelPestanias.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
    panelPestanias.addTab(
        aplicacion.getI18nString("inventario.bienesrevertibles.bienrevertible"), brp);

    brBienes = new BienesRevertiblesBienesJPanel(locale, frame, bienRevertible, tipoBien);
    brBienes.setEnabled(enabled);
    panelPestanias.addTab(
        aplicacion.getI18nString("inventario.bienesrevertibles.listabienes"), brBienes);

    datosSegurosJPanel = new DatosSegurosJPanel();

    /** cargamos el seguro */
    datosSegurosJPanel.load(bienRevertible);
    datosSegurosJPanel.setEnabledDatos(enabled);
    datosSegurosJPanel.setOperacion(operacion);
    panelPestanias.addTab(
        aplicacion.getI18nString("inventario.inmuebleDialog.tab6"), datosSegurosJPanel);

    observacionesJPanel = new ObservacionesJPanel();
    observacionesJPanel.setOperacion(operacion);
    observacionesJPanel.load(bienRevertible == null ? null : bienRevertible.getObservaciones());
    observacionesJPanel.setEnabled(enabled);
    panelPestanias.addTab(
        aplicacion.getI18nString("inventario.inmuebleDialog.tab8"), observacionesJPanel);

    amortizacionJPanel = new DatosAmortizacionJPanel(frame, locale);
    amortizacionJPanel.load(bienRevertible == null ? null : bienRevertible.getCuentaAmortizacion());
    amortizacionJPanel.setEnabled(enabled);
    panelPestanias.addTab(
        aplicacion.getI18nString("inventario.inmuebleDialog.tab5"), amortizacionJPanel);

    documentosJPanel = new GestionDocumentalJPanel(false);
    if (bienRevertible.getId() != null) documentosJPanel.load(bienRevertible);
    documentosJPanel.setEnabled(enabled);
    panelPestanias.addTab(aplicacion.getI18nString("inventario.lote.documentos"), documentosJPanel);

    getContentPane().add(panelPestanias, BorderLayout.CENTER);
    getContentPane().add(okCancelPanel, BorderLayout.SOUTH);
    setSize(490, 700);
    GUIUtil.centreOnWindow(this);
  }