Atualizar textos de componentes Swing

4 respostas
E

Pessoal, estou tendo que internacionalizar o meu software, no caso disponibilizá-lo em vários idiomas… Até aí tudo bem, o único problema seria em fazer uma opção que alterasse os textos de todos os componentes quando o usuário selecionar um diferente do padrão de uma JComboBox, por exemplo? Como eu poderia fazê-lo? Estou usando arquivos .properties pra armazenar as traduções…

4 Respostas

E

Eu sei disso, aliás, estou utilizando ResourceBundle pra facilitar… A minha dúvida é, ao iniciar a aplicação ele vai escolher os textos padrões conforme o idioma atual do usuário, mas eu ainda disponibilizarei uma combo pra poder trocar o idioma, no caso um usuário brasileiro nos estados unidos… o q eu quero fazer é ao clicar por ex, no OK da dialog, o texto de todos os componentes serem atualizados pro novo idioma

E

Sim, o problema nao eh definir o inicial e sim atualizar toda as telas

theBalrog

vc faz um esquema de identificar um Locale a partir do selecionado no Combo…

Dai vc varre o arquivo .properties que termine com o locale que vc escolheu…

Por exemplo: application_en_US.properties

Procura a chave que você quer e captura a string que vem depois do IGUAL…

Daí é soh vc fazer componente.setText(newString);

Não sei se deu pra entender direito… Mas o esquema é identificar o idioma por um Locale

theBalrog

kra… eu não sei como vc implementou suas telas…

Mas o que eu costumo fazer é:

no meu método de cada tela, eu chamo um método setLanguageText(Locale)

que irá atrubuir todos os rótulos de todos os componentes daquela tela conforme o locale e o .properties que eu coloco…

Criado 17 de junho de 2005
Ultima resposta 17 de jun. de 2005
Respostas 4
Participantes 2