import javax.swing.JApplet; import javax.swing.JPanel; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JTextArea; import javax.swing.JScrollPane; import javax.swing.BorderFactory; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.BorderLayout; import java.awt.Font; import java.awt.Color; class TexteEtFonte extends JPanel implements ActionListener { JTextField saisieTaille = new JTextField(5); JTextArea grandeZone = new JTextArea(4, 10); TexteEtFonte() { JLabel taille = new JLabel(" Taille de la fonte"); JScrollPane texteAsc; JPanel panneauTaille = new JPanel(); Font fonte; int tailleInitiale; saisieTaille.setText("20"); saisieTaille.addActionListener(this); panneauTaille.add(taille, BorderLayout.CENTER); panneauTaille.add(saisieTaille, BorderLayout.EAST); tailleInitiale = Integer.parseInt(saisieTaille.getText()); fonte = new Font("TimesRoman", Font.PLAIN, tailleInitiale); grandeZone.setFont(fonte); texteAsc = new JScrollPane(grandeZone); setLayout(new BorderLayout(5, 5)); add(panneauTaille, BorderLayout.NORTH); add(texteAsc, BorderLayout.CENTER); setBorder(BorderFactory.createLineBorder(Color.BLACK)); } public void actionPerformed(ActionEvent evt) { int taillePolice; try { taillePolice = Integer.parseInt(saisieTaille.getText()); grandeZone.setFont(new Font("TimesRoman", Font.PLAIN, taillePolice)); } catch(NumberFormatException exc) { System.err.println("erreur de taille"); } grandeZone.setText(grandeZone.getText()); } } public class EssaiTexteFonte extends JApplet { public void init() { setContentPane(new TexteEtFonte()); } }