if it doesnt fit perfect make a MDF surround and fiber glass it, and paint flat black. Get a profile guage (looks like a bunch of little pins that copies the profile or shape of an object) cut MDF to match the xj roof profile then set the new overhead consule in its new mount surround. Dont limit your self to ZJ or KJ (since it sounds like your on a budget) you could just go pick n pull brouzing and get one from an impala, a tahoe, a astro, a maxima, a minivan. What ever. You get the idea.
Should be able to find a mint one for about $10 bucks if your not picky about what it comes out of.