[Resolvido] Aprendendo internacionalizar, sofrendo pois esta tudo dando errado :cry:

3 respostas
H

Bom dia pessoas!

preciso de uma ajuda, e acredito que seja básico meu problema, mas é algo que eu não consegui resolver sozinho.
(e para ajudar faltei na aula de internacionalização e me ferrei :frowning: (saúde me quer de DP :cry: )

vamos a pergunta!

Não sei internacionalizar, já li os topicos e fiz buscas no google e nada que me ajuda-se.
E para piorar a classe que o professor passou não funciona.

PS: O codigo da classe estará mais abaixo, caso queira me ensinar sem ler algumas coisas basicas que perguntarei pode ir direto para o codigo-fonte.

pergunta simples 1) os “.properties” tem que ser colocados num bloco de notas e salvos da seguinte forma:
<país>.properties //Sem ‘<’ e ‘>’

salvei o en_US num bloco de notas (com mais duas linguagens, (pt_BR e fr_FR)), e coloquei dentro de uma pasta que esta a classe “TelaExemplo”.
OBS: tem uma pasta chamada “inter”, este INTER seria de internacionalização e dentro dela tem os mesmos arquivos .properties.

a classe esta com os comentarios do meu professor, mas mesmo com eles eu não consegui fazer funcionar e bem… estou aqui pedindo uma ajuda dos “manos” e “manas” de JAVA.
AGRADEÇO DESDE JÁ!! rsrs
----------------Código-fonte----------------

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Locale;

import java.util.ResourceBundle;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

public class TelaExemplo extends JFrame implements ActionListener
{

private JButton bt;

private JTextField tx;

private JLabel rt;

private ResourceBundle bn = null;

public TelaExemplo()
{ // Menu simples de escolha de idioma

int op = Integer.parseInt( JOptionPane.showInputDialog("Idioma - Language - Langue\n\n1- Português\n2- English\n3- Française\n "));

// Carga dos arquivos de internacionalização

switch(op)

{

case 1:  bn = ResourceBundle.getBundle(ex1, new Locale(pt, BR));

break;
case 2:  bn = ResourceBundle.getBundle("ex1", Locale.US);
  break;

  case 3:  bn = ResourceBundle.getBundle("ex1", Locale.FRANCE);
  break;

  default: bn = ResourceBundle.getBundle("ex1");
  break;

}

// Escolhe Layout do conteiner

Container cx = getContentPane();

cx.setLayout(new FlowLayout());
// Instânciação dos objetos

bt = new JButton(bn.getString(tela1.botao.calcular));

rt = new JLabel(bn.getString(tela1.rotulo.valor) + :);

tx = new JTextField(10);
// Inclusao no container

cx.add(rt);

cx.add(tx);

cx.add(bt);

// Registro no listener dos objetos controlados

bt.addActionListener(this);
// Ajustes finais do frame

setTitle(bn.getString(tela1.titulo));

setSize(193, 104);

setVisible(true);

}

// Implementacao do metodo da interface ActionListener

public void actionPerformed(ActionEvent e)
{

if (tx.getText().length() == 0)
  {
     JOptionPane.showMessageDialog(null,bn.getString("mensagem.valor.nulo"),bn.getString("tela1.erro.titulo"),JOptionPane.ERROR_MESSAGE);
  }

}

public static void main(String args[])
{

TelaExemplo exemplo = new TelaExemplo();
  exemplo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

3 Respostas

guivirtuoso

Já tentou colocar o nome do arquivo conforme o que você tem no seu diretório?

Lembrando que “Ex1” <> “ex1”

:wink:

H

guiVirtuoso, obrigado pela resposta, mas o problema estava no .properties

eu coloquei os dados no bloco de notas e salvei com o nome.properties, só que, ele salvou como .TXT (na Parte de TIPO na janela ‘Salvar Como’).

este erro simples me causou um tempo perdido e nervoso buscando a resposta em vários canais de ajuda :smiley:
obrigado mesmo!

guivirtuoso

:joy: :joy: :joy:

Regra p/ vida… Sempre desmarcar a caixa “Ocultar extensão de arquivos de tipos conhecidos”

Abs

Criado 13 de abril de 2016
Ultima resposta 14 de abr. de 2016
Respostas 3
Participantes 2