Ja, Datenbankanbindungen gibt es in Java und sind auch recht brauchbar zu verwenden. (Geschmackssache, obs in java einfacher/schwieriger ist...). Du schreibst, dass es plattformunabhängig laufen soll. Daraus schließe ich mal, dass es auf mehreren Computern laufen soll? Spricht für SQL-Server, der wo zentral läuft, da gibt es auch sehr gute Anbindungen.
GUI (bzw. IDE) gibt's zB Netbeans (ähnlich wie Delphi) oder Eclipse.
Ausdrucken geht auch.
Naja, Geschwindigkeit von Java ist nicht berauschend, aber sicher ausreichend. Datenbanksachen sind nicht so langsam, ich finde die GUIs etwas lahm, aber ist nicht so schlimm. Was würdest du von PHP halten? Wenn, so wie ich annahm, die Applikation auf mehreren Rechnern laufen soll, wäre das wohl am Einfachsten. Naja, will dir Java nicht ausreden, nur so ein Gedanke...