Programm auf aktuellen Stand bringen

saladin100

Mitglied
Servus Leute,
hab hier ein Problem. Nach einem Klick auf mein JMenuItem "Deutsch" oder "Englisch" setzte ich das Locale entsprechend. Aber die Namen (z.B die des Menüs) ändern sich nicht... is ja klar schließlich wurde das JMenu ja schon erzeugt und eingefügt... Dann hab Ichs damit versucht, dass nach dem Klick auf einer der JMenuIteam's das komplette Jframe samt Inhalt neu erstellt werden soll... bei mir wäre das einfach:

Jframe frame = new JFrame();

Dann kommt ne Exception : "Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal component position"

jetzt hab ich keine Ideen mehr... weis vllt jemand von euch wie ich das problem elegant lösen kann?

gruß saladin
 
Zuletzt bearbeitet:
also alles neu zu erzeugen ist denke ich keine tolle Lösung 😉

also so kannst du z.b. das Menü ändern :
das is jetzt nur nen schnelles Beispiel, dass die zeigen soll, dass man den Text des Menüs auch ändern kann, wenn du das so gemeint hast 😉

Java:
public static void main(String[] args){
		JFrame frame=new JFrame();
		frame.setSize(200,200);
		JMenuBar menubar=new JMenuBar();
		final JMenu menu = new JMenu("Fenster");
		JMenuItem item=new JMenuItem("test12");
		item.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				menu.setText("neuer TEXT");
			}
			
		});
		
		menu.add(item);
		menubar.add(menu);
		frame.setJMenuBar(menubar);
		frame.setVisible(true);
	}
 
Ah ok... des würde funktionieren...

aber da hab ich ehrlich gesagt zu aufwending... außer es ist die einzige Möglichkeit.... des wären einfach zu viele Strings zum ändern... des sind bei mir ja alle Menünamen, alle Fensternamen, alle Meldungen bla bla bla...

hat jemand noch eine andere Idee? ich mein es gibt doch bestimmt irgendwas vordefinieretes aus der api oder so... ich bin ja nicht der erste der seine Anwendung per Knopfdruck in eine andere Sprache versetzten will...
 

Zurück
Oben