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 (saúde me quer de DP
)
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);
}
}