Ajouter ma scrollbar à mon TextArea

sabrina145 Messages postés 2 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 9 décembre 2005 - 9 déc. 2005 à 13:57
fififarawla Messages postés 4 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 31 mai 2010 - 31 mai 2010 à 16:10
J'ai du mal à arranger le code suivant pr avoir des scrollbars à mon TextArea _txtRes



import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;



import javax.swing.*;

/**
* Classe permettant de faire des conversions
* entre les francs et les euros.
*
* La classe "hérite" (extends) de JFrame pour pouvoir
* afficher une fenetre à l'écran.
*
* Elle "implémente" (implements) l'Interface ActionListener
* c'est à dire qu'elle doit redéfinir toutes les méthodes
* de cette Interface.
* Ici il n'y en à qu'une : actionPerformed
* Cela permet d'intercepter toutes les actions qui
* se passent dans la fenetre (les clicks par exemple)
*
* @author Duss
*/




public class Convertisseur extends JFrame implements ActionListener
{


// Attributs de la classe
private JLabel _labVal, _labRes;
private JTextField _txtVal;
private JTextArea _txtRes;
private JButton _conv;
private JCheckBox _euro, _franc;

/** Constructeur : c'est la méthode qui se lance
* quand on fait un new sur notre classe
*/
public Convertisseur()
{
// On récupère l'objet de la fenetre
// sur lequel on va pouvoir ajouter
// nos composants graphiques.
Container cont = getContentPane();

// On crée 3 JPanel qui sont des "panneaux"
// sur lesquels on peut poser des composants
// cela va permettre d'avoir une mise en page
// avec 3 layouts différents
JPanel haut = new JPanel();
JPanel milieu = new JPanel();
JPanel bas = new JPanel();


// Le layout de notre panel du haut
// est une grille de 2 lignes et 2 colonnes
// celui du milieu 1 lignes 2 colonnes

haut.setLayout(new GridLayout(2,2));
milieu.setLayout(new GridLayout(1,2));


// Création des JLabels
_labVal = new JLabel("Mot");
_labRes = new JLabel("Resultat");

// Création des JTextField
_txtVal = new JTextField();

// création d'un TextArea
_txtRes = new JTextArea(4, 10);

// les paramètres du TextArea
_txtRes.setEditable(false); // on ne peut pas éditer notre textarea
JScrollPane scrollPane =
new JScrollPane(_txtRes,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
_txtRes.setEditable(false); // on ne peut pas éditer notre textarea



// Création des JCheckBox
_euro = new JCheckBox("Rechercher");
_franc = new JCheckBox("Anagramme");

// Euro est cochée, franc ne l'est pas à la base (au départ)
_euro.setSelected(false);
_franc.setSelected(true);

// Création du bouton
_conv = new JButton("Chercher");

// On indique que notre fenetre (this = la classe dans laquelle
// on se trouve) est chargée "d'écouter" les actions du bouton
// et des cases a cocher
_conv.addActionListener(this);
_euro.addActionListener(this);
_franc.addActionListener(this);

// On ajoute le panel haut en haut de la feuille
// et celui du bas en dessous
cont.add(haut,"North");
cont.add(milieu,"Center");
cont.add(bas, "South");

// On ajoute les composants labels, textField et
// checkBox au panel haut
haut.add(_labVal);
haut.add(_txtVal);
haut.add(_euro);
haut.add(_franc);
milieu.add(_labRes);
milieu.add(_txtRes);


// Le bouton a celui du bas
bas.add(_conv);

}
public void rechercher(String s1, String s2)
{
int j=0;
String newline = "\n";


while( j <s1.length() )
{
if( (s1.charAt(j) '*') || (s1.charAt(j) s2.charAt(j)) )
j++;
else
break;
}

if(j == s2.length())
_txtRes.append(s2 + newline);

}


/**
* Méthode de l'interface ActionListener
*
* @param e L'actionEvent correspondant à l'action
*/
public void actionPerformed(ActionEvent e)
{
// En faisant e.getSource() on récupère
// le composant qui à générer l'action
// on peut donc faire des traitements différents

// Cas ou c'est le bouton
// On va faire la conversion
if (e.getSource() == _conv)
{
// Vérification qu'il y a bien quelque chose
// à convertir. Si non, on affiche un message
if (_txtVal.getText().equals(""))
JOptionPane.showMessageDialog(this,"Veuillez saisir une valeur !");
else
{
// là on a cliqué sur le bouton donc

// On teste quel case est cochée
// et on détermine le sens de conversion
if (_euro.isSelected())
{
// euro = rechercher

// on dois mettre à 0 notre textarea
_txtRes.setText("");



Fichieralire f1 = new Fichieralire("fr.txt");

String[] stock = new String[140000];

for (int i=0;f1.ready();i++){

String ligne=f1.readline();
stock[i] = ligne;

// on essaie d'afficher les mots qui ont la meme longueur

if(stock[i].length() == _txtVal.getText().length())
rechercher(_txtVal.getText(), stock[i]);
//anagramme(args[0], stock[i]);

}



// La fonction parseDouble lance des
// exceptions de type numberFormatException
// si le String à parser n'est pas un double valide
// on va donc intercepter cette possible
// exception en l'entourant d'un bloc try/catch
// try sert à prévenir qu'une exception peut survenir
// catch sert à la récupérer et à faire un
// traitement approprié. Ici, l'affichage d'un message
//try
//{
//val = Double.parseDouble(_txtVal.getText());
//}
//catch (NumberFormatException ex)
//{
//JOptionPane.showMessageDialog(this,"Veuillez saisir un nombre !");
//}

// On appelle la fonction pour arrondir
//double res = arrondir(conv(val,sens),2);

// On affiche le texte
// _txtRes.setText(s2);
}
}


// Traitement pour que les 2 cases à cocher
// ne soit pas cochées en même temps :

// Cas ou c'est la case euro qui a généré l'action
// La case franc prend la valeur inverse de euro
if (e.getSource() == _euro)
_franc.setSelected(!_euro.isSelected());

// Cas ou c'est la case franc qui a généré l'action
// La case euro prend la valeur inverse de franc
if (e.getSource() == _franc)
_euro.setSelected(!_franc.isSelected());

}
}

}

Si qqun peut m'aider, eh ben ca serait cool
a++

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
9 déc. 2005 à 16:50
voir un post plus haut :

http://www.javafr.com/forum.v2.aspx?ID=616135#2

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
sabrina145 Messages postés 2 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 9 décembre 2005
9 déc. 2005 à 17:08
le problème, je sais déclarer mes scrollbars , mais vous ne m'expliquer pas comment l'intégrer ds mon interface avec un add(....) dans mon code plus particulierement
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
10 déc. 2005 à 17:56
tu fais un add comme n'importe lequel composant swing
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
10 déc. 2005 à 19:05
mieu : composantdugenrepanel.add(new JScrollPane(moncomposanttexte));

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fififarawla Messages postés 4 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 31 mai 2010
31 mai 2010 à 16:04
comment ajouter un ScrollBar ou un scrollpane à un JTextAreaheeelp
0
fififarawla Messages postés 4 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 31 mai 2010
31 mai 2010 à 16:10
g un JComboBox,j ve que l'item séléctioné etre dans un JtexteArea aprés un click du bouton add et que cet item etre hors JTextArea aprés un click du bouton supp
0
Rejoignez-nous