Utilisation d'une zone de texte

     

Vous pouvez écrire dans la zone centrale de l'applet ci-dessus. L'entier indiqué dans la petite zone de texte donne la taille de la police de caractères utilisée dans la zone centrale. Vous pouvez modifier cette taille. Votre demande sera prise en compte si vous terminez la saisie de la taille par "return" (ou encore Entrée).  

alt : l'applet n'est pas visible par votre navigateur (dans le menu Outils, Modules complémentaires, activer le plugin Java(TM) Platform SE 6 U32 6.0.320.5 s'il est désactivé)

On peut définir des zones de texte modifiables ou non modifiables par l'utilisateur.

On peut voir ci-dessous une image de l'application et le type de ses composants de texte.

Pour que le "JTextArea" ait des ascenseurs, il faut le demander explicitement dans la programmation.

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.BorderLayout;
import java.awt.Font;

public class TexteEtFonte extends JFrame implements ActionListener{
JTextField saisieTaille = new JTextField(5);
JTextArea grandeZone = new JTextArea(4, 10);
public TexteEtFonte() {
JLabel taille = new JLabel(" Taille de la fonte");
JScrollPane texteAsc;
JPanel panneauTaille = new JPanel();
Font fonte;
int tailleInitiale = 20;

saisieTaille.setText(Integer.toString(tailleInitiale));
saisieTaille.addActionListener(this);

panneauTaille.setLayout(new BorderLayout(5, 5));
panneauTaille.add(taille, BorderLayout.CENTER);
panneauTaille.add(saisieTaille, BorderLayout.EAST);

fonte = new Font("TimesRoman", Font.PLAIN, tailleInitiale);
grandeZone.setFont(fonte);
texteAsc = new JScrollPane(grandeZone);
add(panneauTaille, BorderLayout.NORTH);
add(texteAsc, BorderLayout.CENTER);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocation(300, 300);
setVisible(true);
}

public void actionPerformed(ActionEvent evt) {
int taillePolice;

try {
taillePolice = Integer.parseInt(saisieTaille.getText());
grandeZone.setFont(new Font("TimesRoman",
Font.PLAIN, taillePolice));
}
catch(NumberFormatException exc) {
exc.printStackTrace();
}
grandeZone.setText(grandeZone.getText());
}
}

class EssaiTexteEtFonte {
public static void main(String[] arg) {
new TexteEtFonte();
}
}
Vous pouvez trouver ci-dessous :
  • le TexteEtFonte.java.
  • le code de l'applet.
    JLabel : modélise une ligne de texte gérée par le programme, non modifiable par l'utilisateur.
    JTextField : pour un texte modifiable sur une ligne.
    JTextArea : pour un texte modifiable sur plusieurs lignes.
    fonte = new Font("TimesRoman", Font.PLAIN, tailleInitiale); : on définit une police de caractères correspondant aux caractéristiques indiquées.
    grandeZone.setFont(fonte); : cette instruction permet de choisir la police de la zone centrale de texte.
    ©Irène Charon, Télécom - ParisTech 2011