As many of you already know, we’ve been hard at work on a Mac OS X version of LandlordMax. So far it’s been going pretty well. Most of our issues in supporting the Mac have been visual, with very few real technical issues. That being said, we are currently experiencing two visual related issue that we’re finding harder to resolve. I know we’ll eventually figure it out, but I’d like to get the Mac version out sooner than later. Therefore, I’m putting out a help request to all developers who read FollowSteph for this one issue. If you know the answer, or if you have good pointers, I’d love to hear them. And if someone points us to a direct solution that we use (or the first person if there’s more than one), I’ll send you a $100 Amazon gift certificate to show my appreciation!
Before dwelving into the technical aspects, here’s some quick background. LandlordMax is written in Java, and therefore the port to the Mac OS has been relatively straightforward as I just mentioned. Although many of you might not know this, from the very beginning we programmed almost everything in LandlordMax to be operating system independent. Although it wasn’t always possible 100% of the time, it was for the vast majority. The biggest issue, as I alluded to above, is the visual look and feel and how that affects the screens.
The two biggest issues we’re currently encountering which we’re struggling with is related to the combo box (pull downs) within LandlordMax. In Windows, the combo boxes are the same size as the text fields whereas in the Mac OS they’re much larger (especially in regards to height, and only somewhat in length). Because of this, and because we have to suppport the 800×600 resolution (a full 15-20% of our customers still use this resolution), we’re very limited in screen space. What’s happening is that these combo boxes on the Mac OS are taking up much more space than they should, and hence pushing things down on the screen (and sideways as well). On some screens this isn’t a big issue, but others were space is very limited (for example the Scheduled Tabbed Panel), this means that some of the fields no longer show up on the screen, they’re pushed down off the screen.
Below is a screenshot below of LandlordMax on the Mac OS. What we’d like to do is bring the combo boxes down to the same size as the fields.
The second issue has to do with auto-fill combo boxes, such as the “Type of Payment” field in the screenshot. For some reason, the auto-fill combo boxes are not being rendered correctly. If you look at the screenshot closely (you can click on it to see the full sized screenshot), the field has half of the combo box missing. I suspect this also has to do with the same issue.
So far we’ve looked at a number of solutions which haven’t quite worked for us. The first, and what looked like the most promising, was the QuaQua Look and Feel. They’ve noticed this issue as well us and have rectified it in their own custom Look and Feel. When we implemented it, it did indeed resolve the combo box issue, but unfortunately it also caused many other issues. With this Java Look and Feel, they seem to overwrite many of the manual settings we programatically apply in the software. So for example, if we set a background color of light blue on a panel (or component), it seems to ignore this and apply it’s own Look and Feel. Therefore this solution isn’t quite working for us right now.
We’ve also looked at modifying the Java Look and Feel by just changing some properties, but as we’re not familiar with this aspect of the language (actually very few people are which is why I’m posting it here today), it’s just not working out for us as we intended. We’ve had some moderate success with this solution but not enough yet.
There are some other solutions we’ve looked at, but as far as I can tell, the best solution is to modify the existing Look and Feel. Either by modifying the Mac OS Look and Feel or by extracting what we need from the open source Quaqua project…
If any of you know how to do this for the combo box that would resolve both of our issues, I would be extremely grateful. Not only that, as a show of my appreciation, I will award a $100 Amazon gift certificate to the first person who can give me a direct solution that we end up using!