Als Erstes kann man sagen, dass ein Buch immer gut ist! Man kann viel schneller Sachen nachschauen als bei X Tutorials aus dem Netz. Grundlagen immer mit Büchern/DVDs.
Wenn die Grundlagen da sind, kannst du mit dem Netz arbeiten. Einmal gibt es it-ebooks.info, die haben viele PDFs von Büchern - auch zu spezielleren Themen. Ansonsten Youtube/Google/Foren sind auch immer gut, wenn es ins Spezifische geht.
Zur Sprache: Es gibt 4 verschiedene "Spracharten". Hochsprache, Intermediate Language ("Mittelsprache"), Scriptsprache und Markup. Markup beschreibt nur das Aussehen, also keine Funktionen. Das wird dir bei der Programmierung des Fensters auch begegnen. Scriptsprachen sind immer gut für kleine Sachen, einerseits verzeihen sie dir viel und brauchen viel weniger Zeilen für die gleiche Aufgabe, aber sobald es an Großes herangeht wirds unübersichtlich. IL/Mittelsprache wäre das von dir gewählte Java oder auch C#. Hier wird einem viel Maschinennahes abgenommen, wie zum Beispiel Speicherentlagerung. Außerdem muss man viel weniger auf die Hardware achten bzw. optimieren, weil dass das Framework (die Zwischenlage zwischen Betriebssystem und Programm) übernimmt. Hochsprachen sind dafür viel maschinennaher, aber auch viel komplizierter. C(++) wäre hier ein Vertreter.
Meine Empfehlungen:
Scriptsprache: Javascript (eher im Web), Python (Web und PC), Autoit (PC, windows exklusiv)
IL/Mittelsprache: Java (weit im Businessbereich verbreitet, läuft überall, aber kein Zugriff aufs System) oder C# (Nur mit Umständen auf Linux/Mac, aber gute Möglichkeit Spiele zu programmieren alias Unity Game Engine. Auf Windows alle Systemfeatures nutzbar)
Hochsprache: C++, wegen OOP (kein großer Unterschied zu C)
Für den Anfang eine IL/Scriptsprache und wenns mit der läuft, kannste da eigentlich auch bleiben, aber natürlich dich auch an C++ versuchen.
Lektüre kannst du dir nach den Bewertungen auf Amazon aussuchen, spiegelts relativ gut wieder. Für C++ empfehle ich dir C++ Primer 5 (ja, nur in Englisch!).