So there seems to be an issue regarding the JTable grid when viewed in Mac OSX. The grid lines disappear. Well, not literally. They are probably colored white set as the default hence the perception that the grid lines do not get displayed.
To remedy this issue, just call setGridColor() of JTable and it should then display the grid lines according to the color you specify.
Frankly, this gave me a ton of a headache. I thought when using the Grid container’s RowDefinition attribute’s height to auto, it will set the height according to the screen’s height.
As I found out, it does not. What happened was that I placed component after component and the Grid‘s height kept on expanding to the point that its height went beyond that of the screen’s overall height.
Naturally, I attached a ScrollViewer so that I could scroll down to see the other contents but what happened was that once I released my finger upon scrolling down, it snapped back to its original position (top).
I read in forums that setting the ScrollViewer height should do the trick but that even that is not a viable solution since who knows in the future Microsoft may have smart phones with different screen size.
My XAML looks like this. Grid > Grid > ScrollViewer > contents.
Now, the solution is not really to place any static height within the ScrollViewer but to make sure that your root Grid has a height value of its RowDefinition to * and not auto.