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).
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;Vous pouvez trouver ci-dessous :
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();
}
}