jOptionPane zum schließen von Fenster, wie "Ja" und "Nein" anstatt Yes und No

Tempranillo

Mitglied
[CODE lang="java" title="Fensterschließen" highlight="7-9"]public void beendeGUI() {
System.out.println("beendeGUI ausgewählt");
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
try {
if (JOptionPane.showConfirmDialog(TestGui.this,
"Wollen Sie uns wirklich schließen?",
"Fenster schließen?", JOptionPane.YES_NO_OPTION,
JOptionPane.PLAIN_MESSAGE) == JOptionPane.YES_OPTION) {
System.exit(0);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}[/CODE]
Schönen Gruß in die Runde,

ich versuche, dass wenn ich ein Fenster meiner GUI schließe, eine Abfrage einzubauen, soweit klappt das auch.

Ich weiß jedoch nicht wie ich in den Buttons, "Ja und Nein" hinterlegen kann, das ganze Programm ist auf Deutsch, nur das Fenster wäre auf Englisch.
Ich finde auch sonst keine Anleitung dazu, wäre toll wenn hier jemand einen Tipp hätte. Zudem ist mir aufgefallen das egal ob ich Yes oder NO drücke die Fenster zugehen. Ich bin verwirrt :s
Code folgt:


Liebe Grüße
Tempra
 

Anhänge

  • Screenshot 2021-06-28 203728.png
    Screenshot 2021-06-28 203728.png
    8,3 KB · Aufrufe: 6
Tatsächlich ist das abhängig vom Runtime und der Plattform, auf dem die Software läuft. Generell sollte auf einem deutschen System auch eine deutsche Beschriftung erscheinen.

Du kannst die Texte aber auch explizit festlegen, dazu am Anfang (ggf. nach der Wahl eines Look and Feels) Deiner Anwendung einfügen:
Java:
UIManager.put("OptionPane.yesButtonText", "Ja, sicher, aber zackig");
UIManager.put("OptionPane.noButtonText, "Nein, um Gottes Willen");

Außerdem hast Du die Möglichkeit für jeden Dialog Buttons bzw. Button-Beschriftungen anzugeben, hier verweise ich mal auf die Doku von JOptionPane.
 
Normalerweise ist es komplizierter, eine andere Sprache als die Systemsprache zu kriegen. Mihe's Antwort ist schon mal zielführend.. Zusätzlich zu "yesButtonText" und "noButtonText" gibt's noch "cancelButtonText" und "okButtonText", außerdem kannst du entsprechend "yesButtonMnemonic" usw. setzen.
Gib mal aus, we ins Locale.getDefault().getCountry() gespeichert ist. Sofern alles richtig konfiguriert ist, sollte da "DE" stehen.
Ansonsten setz die DefaultLocale bei Programmstart mal auf Locale.GERMAN.
 

Zurück
Oben