On voit ici s'afficher le contenu du petit fichier html notice.txt. L'objectif est ici de montrer comment on peut procéder pour atteindre ce objectif. On affiche ainsi du texte avec des formats variables au cours du texte.
On utilise la classe JEditoPane dont vous pouvez consulter en la documentation pour en savoir plus. On fait en sorte que la zone de texte ne soit pas éditable, ce qui signifie qu'on ne peut pas écrire à l'intérieur.
Le nom du fichier à afficher est ici indiquer en premier argument de la méthode main.
import javax.swing.JFrame;Vous pouvez trouver ci-dessous :
import javax.swing.JEditorPane;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;
public class TexteHtml extends JFrame {
JEditorPane grandeZone;
public TexteHtml(String nomFichier) {
JScrollPane texteAsc;
StringBuffer texte;
texte = saisirTexte(nomFichier);
grandeZone = new JEditorPane("text/html", new String(texte));
grandeZone.setPreferredSize(new Dimension(300, 120));
grandeZone.setEditable(false);
texteAsc = new JScrollPane(grandeZone);
add(texteAsc, BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocation(300, 300);
setVisible(true);
}
public StringBuffer saisirTexte(String nomFichier) {
File fichier = new File(nomFichier);
StringBuffer texte = new StringBuffer();
try {
Scanner lecteur = new Scanner(fichier);
while (lecteur.hasNext()) texte.append(lecteur.nextLine());
}
catch (FileNotFoundException exc) {
System.out.println("Fichier inexistant");
}
return texte;
}
}
class EssaiTexteHtml {
public static void main(String[] arg) {
new TexteHtml(arg[0]);
}
}