Tastaturbelegung auslesen und Anzeigen

mDowideit

Grünschnabel
Hallo zusammen,

kann mir Jemand sagen, wie ich die aktuelle Tastaturbelegung (DE, EN etc.) auslesen und anzeigen kann?

MFG

Marcy
 
hi

das einzige was mir spontan einfällt ist das:

Code:
System.getProperty("user.language");
aber kann dir nicht garantieren ob das immer 100 % mit den Tastatureinstellungen übereinstimmt.
 
Welches Betriebssystem hast du? Und willst du auch die Möglichkeit haben während des Ausführung die aktuelle Belegung z.B. von deutsch auf englisch im Betriebssystem zu ändern?
 
Soll auf Windows XP laufen. Anzeigen würde fürs erste reichen. Ändern wäre ein zusätzliches Feature welches ich auch gerne einabuen würde. :)
 
Das liest zwar die Tastaturbelegung aus, aber wenn ich mein Programm starte, dann die Tastursprache im Windows von "DE" auf "EN" änder und nochmal Locale.getDefault() aufrufe zeigt er immernoh "DE" an. Die Eingaben im Programm sind dann aber mit englischer Tastatur (z.B. Taste y ergibt aber z etc.).
 
@zeja: Sorry! Deine erste Antwort hat doch geklappt. keine Ahnung warum es letztens nicht ging. Danke sehr.

Zur Erklärung.
Das liest die Locale des inputContext aus. und der enthält das Tastaturlayout.
Locale.getDefault() liest die Locale der Runtime aus.
 
Locale.setDefault(new Locale("en"));

Besser ist:

Java:
Locale.setDefault(Locale.ENGLISH);

Erzeugt keinen zusätzlichen Ballast.

Außerdem sollte erwähnt werden, dass die "Ländereinstellungen" für jedes verwendete Programm anders sein können. Dies muss nicht notwendigerweise etwas mit den zugrundeliegenden Einstellungen des Betriebssystems zu tun haben.

Edit:
Oder so wie's mein Vorredner kurz und bündig gesagt hat :-)
 
Zurück