One of the reasons I program in Java is because it's largely platform-independent; or, at least, Oracle handles all the platform-specific stuff. One of the major concepts behind Java is that a program should run the same, on all machines.
And as for fonts, Java guarantees four basic types; if you want something specific, you can just include it in the .jar. Now that I think about it, a quick and easy way to do tiles.
The platforms that seem to require special development these days are mobile devices; but I expect in a few years there will be tools to make development for them more standardized.