Texture on compound objects

Hi i have a problem adding texture to a compound object, the object itself is a combination of a box and a cylinder, like a publicity post, so i want to give the post one texture, and another one to the box

   public Cylinder createPoste(String tipo, String nombre, Vector3f v3, float angulo){

      v3.setZ(v3.z+10);

      poste = new Cylinder(tipo, 3, 3, 2, 20, true);

      poste.setLocalTranslation(v3);

      poste.setModelBound(new BoundingBox());

      poste.updateModelBound();

      

      poste.setName(nombre+"poste");

      TextureState t4 = RunApp.trackController.seleccionTextura("Asfalto");

      poste.setRenderState(t4);

      poste.updateRenderState();

       rotQuat.fromAngleNormalAxis(0,new Vector3f(0,0,1));

       poste.setLocalRotation(rotQuat);

       addBatch(poste.getBatch(0));

      return poste;

   }

   public Box createCartel(String tipo, String nombre, Vector3f v3, float angulo){

      v3.setZ(v3.z+5);

      cartel = new Box("Floor", v3, 1, 10, 5);

      cartel.setModelBound(new BoundingBox());

      cartel.updateModelBound();

      cartel.getLocalTranslation().set(v3);

      cartel.setName(nombre+"cartel");

      TextureState t3 = RunApp.trackController.seleccionTextura("Motor");

      cartel.setRenderState(t3);

      cartel.updateRenderState();

      addBatch(cartel.getBatch(0));

       return cartel;

   }



this is how i created my object, but when i turn the ligths off and on again, the texture disapears.

any ideas?

the object is similar to the arrow class, so if anyone can give me any way to put one texture to each part of the arrow, that will work too.

thanks