@Override
 public void mouseClicked(MouseEvent e) {
   if (e.getClickCount() == 2) {
     String ruc = (String) vistaProv.tbldatos.getValueAt(vistaProv.tbldatos.getSelectedRow(), 0);
     modeloProv = daoProv.buscarRuc(ruc);
     vistaProveedoresNM vistaProvNM = new vistaProveedoresNM();
     controladorProveedorNM controladorProvNM = new controladorProveedorNM(vistaProvNM, daoProv);
     vistaProvNM.lbltitutlo.setText("PROVEEDOR");
     vistaProvNM.txtcodigo.setEditable(false);
     vistaProvNM.btnregistrar.setVisible(false);
     vistaProvNM.btnguardarcambio.setEnabled(false);
     controladorProvNM.inicializarProveedoreNM(modeloProv, false);
     vistaProvNM.setLocationRelativeTo(null);
     vistaProvNM.setVisible(true);
     vistaProv.dispose();
   }
 }
 @Override
 public void keyPressed(KeyEvent e) {
   if (e.getKeyCode() == KeyEvent.VK_ENTER) {
     String ruc = vistaProv.txtbuscarruc.getText();
     modeloProv = daoProv.buscarRuc(ruc);
     if (!modeloProv.getRuc().equals("")) {
       vistaProveedoresNM vistaProvNM = new vistaProveedoresNM();
       controladorProveedorNM controladorProvNM = new controladorProveedorNM(vistaProvNM, daoProv);
       vistaProvNM.lbltitutlo.setText("PROVEEDOR");
       vistaProvNM.txtcodigo.setEditable(false);
       vistaProvNM.btnregistrar.setVisible(false);
       vistaProvNM.btnguardarcambio.setEnabled(false);
       controladorProvNM.inicializarProveedoreNM(modeloProv, false);
       vistaProvNM.setLocationRelativeTo(null);
       vistaProvNM.setVisible(true);
       vistaProv.dispose();
     } else {
       JOptionPane.showMessageDialog(vistaProv, "R.U.C. no encontrado");
     }
   }
 }
  @Override
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == vistaProv.btnnuevo) {
      vistaProveedoresNM vistaProvNM = new vistaProveedoresNM();
      vistaProvNM.lbltitutlo.setText("NUEVO PROVEEDOR");
      vistaProvNM.jLabel1.setVisible(false);
      vistaProvNM.txtcodigo.setVisible(false);
      vistaProvNM.btnmodificar.setVisible(false);
      vistaProvNM.btnguardarcambio.setVisible(false);
      controladorProveedorNM controladorCNM = new controladorProveedorNM(vistaProvNM, daoProv);
      vistaProvNM.setLocationRelativeTo(null);
      vistaProvNM.setVisible(true);
      vistaProv.dispose();
    }
    if (e.getSource() == vistaProv.btnbuscar) {
      String ruc = vistaProv.txtbuscarruc.getText();
      modeloProv = daoProv.buscarRuc(ruc);
      if (!modeloProv.getCodigo().equals("")) {
        vistaProveedoresNM vistaProvNM = new vistaProveedoresNM();
        controladorProveedorNM controladorProvNM = new controladorProveedorNM(vistaProvNM, daoProv);
        vistaProvNM.lbltitutlo.setText("PROVEEDOR");
        vistaProvNM.btnregistrar.setVisible(false);
        vistaProvNM.btnguardarcambio.setEnabled(false);
        vistaProvNM.txtcodigo.setEditable(false);
        controladorProvNM.inicializarProveedoreNM(modeloProv, false);
        vistaProvNM.setLocationRelativeTo(null);
        vistaProvNM.setVisible(true);
        vistaProv.dispose();
      } else {
        JOptionPane.showMessageDialog(vistaProv, "R.U.C. no encontrado");
      }
    }

    if (e.getSource() == vistaProv.btnborrar) {
      int filInicio = vistaProv.tbldatos.getSelectedRow();
      int numfilas = vistaProv.tbldatos.getSelectedRowCount();
      ArrayList<String> listaruc = new ArrayList<>();
      String ruc;
      if (filInicio >= 0) {
        for (int i = 0; i < numfilas; i++) {
          ruc = String.valueOf(vistaProv.tbldatos.getValueAt(i + filInicio, 0));
          listaruc.add(i, ruc);
        }

        for (int j = 0; j < numfilas; j++) {
          int rpta =
              JOptionPane.showConfirmDialog(
                  null, "Desea eliminar registro con R.U.C.: " + listaruc.get(j) + "? ");
          if (rpta == 0) {
            daoProv.eliminarProveedor(listaruc.get(j));
          }
        }
        LLenarTabla(vistaProv.tbldatos);
      } else {
        JOptionPane.showMessageDialog(null, "Elija al menos un registro para eliminar.");
      }
    }
    if (e.getSource() == vistaProv.btnsalir) {
      vistaProv.dispose();
    }
  }