sabrina145
Messages postés2Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 9 décembre 2005
-
9 déc. 2005 à 13:57
fififarawla
Messages postés4Date d'inscriptionmercredi 19 mai 2010StatutMembreDernière intervention31 mai 2010
-
31 mai 2010 à 16:10
J'ai du mal à arranger le code suivant pr avoir des scrollbars à mon TextArea _txtRes
/**
* 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
// 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";
/**
* 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
// 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());
sabrina145
Messages postés2Date d'inscriptionlundi 5 décembre 2005StatutMembreDerniè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
fififarawla
Messages postés4Date d'inscriptionmercredi 19 mai 2010StatutMembreDernière intervention31 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