Bonsoir à tous,
Je voudrais afficher les nombres premiers qui se trouvent entre 2 bornes dans un JTextArea muni d'une barre de défilement.
Pour ce faire je rentre bien l'instruction suivante :
// Relier le JtextArea à un JScrollPane pour que l'utilisateur puisse faire défiler les resultats
JScrollPane defilant = new JScrollPane( aireSortie );
mais la barre ne s'affiche pas et je ne sais pas quelle est l'erreur que je commets.
Voici mon code :
// Applet détermination des nombres premiers
// Package de noyau java
import java.awt.Container;
// Package d'extension java
import javax.swing.*;
public class NbrePremier extends JApplet
{
// Mise en place de la GUI
public void init ()
{
// Le JTextArea qui affiche les resultats
JTextArea aireSortie = new JTextArea();
// Relier le JtextArea à un JScrollPane pour que l'utilisateur puisse faire défiler les resultats
JScrollPane defilant = new JScrollPane( aireSortie );
// Obtenir le panneau de contenu (zone d'affichage des composants GUI)
Container conteneur = getContentPane ();
// Lier aireSortie au conteneur
conteneur.add ( aireSortie );
String sortie = ""; // String des resultats
// Afficher tous les nbres premiers compris entre 2 bornes
int min = 1, max = 100;
for (int i = min + 1 - ( min & 1 ); i <= max; i += 2)
{
if ( premier(i) )
sortie += "Les nombres suivants sont premier " + i + "\n" ;
} // Fin de la boucle for
aireSortie.setText( sortie) ; // Afficher dans le JTextArea
} // Fin de la méthode init
// Définition de la méthode premier
// Retourne true si le paramètre n est premier, false dans le cas contraire
public boolean premier(int n)
{
if ( n <= 3 )
return n == 2 || n == 3;
if ( n % 2 == 0 )
return false;
for ( int i = 3; i * i <= n; i += 2 )
{ if ( n % i == 0 )
return false;
}
return true;
} // Fin de la methode premier
} // Fin de la classe NbrePremier
Si quelqu'un peut m'aiguiller je l'en remercie vivement.
Partager