import java.awt.GridLayout; import java.util.ResourceBundle; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class DynExemple extends JFrame { private JPanel contentPane; private JLabel paysLabel = new JLabel(); private JLabel dateLabel = new JLabel(); private JLabel tempsLabel = new JLabel(); private JLabel montantLabel = new JLabel(); private JTextField paysText = new JTextField(); private JTextField dateText = new JTextField(); private JTextField tempsText = new JTextField(); private JTextField montantText = new JTextField(); // on ajoute un objet de type ResourceBundle qui va charge les messages à // partie du fichier DynExemple.properties private ResourceBundle bundle = ResourceBundle.getBundle("DynExemple"); public DynExemple() { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(new GridLayout(4, 2)); contentPane.add(paysLabel, null); contentPane.add(paysText, null); contentPane.add(dateLabel, null); contentPane.add(dateText, null); contentPane.add(tempsLabel, null); contentPane.add(tempsText, null); contentPane.add(montantLabel, null); contentPane.add(montantText, null); // On replace les textes statiques par la méthode « static » getString // qui retourne le texte correspondant à une clé donnée. setTitle(bundle.getString("PTitle")); paysLabel.setText(bundle.getString("PPays")); dateLabel.setText(bundle.getString("PDate")); tempsLabel.setText(bundle.getString("PTemps")); montantLabel.setText(bundle.getString("PMontant")); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); setSize(293, 123); setVisible(true); } public static void main(String[] args) { new DynExemple(); } }