Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
kyfren dummy mioche

Inscrit le: 26 Aôu 2003 Messages: 3
|
Posté le: Mer Mar 31, 2004 4:30 pm Sujet du message: pb débutant : gestion d'un événement de liste déroulante |
|
|
Bonjour à tous.
Je débute en Java et je dois afficher la valeur sélectionnée dans une liste déroulante à l'intérieur d'un champ texte.
Je suis bien parti mais apparemment, le texte "nouveau texte" ne s'insère pas dans le champ :
Voici mon script, d'avance merci.
Code: |
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.event.*;
public class New
{
public static void main(String[] args)
{
TextTestFrame2 frame = new TextTestFrame2();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class TextTestFrame2 extends JFrame
{
public TextTestFrame2()
{
setTitle("Editeur");
setSize(WIDTH, HEIGHT);
Container contentPane = getContentPane();
// ajouter un panneau avec des champs texte
JPanel panel = new JPanel();
pRectangle = new ProprietesRectangle();
panel.add(pRectangle);
liste = new Liste();
panel.add(liste);
contentPane.add(panel, BorderLayout.SOUTH);
}
private ProprietesRectangle pRectangle;
private Liste liste;
private static final int WIDTH = 300;
private static final int HEIGHT = 300;
}
class ProprietesRectangle extends JPanel implements ActionListener
{
public ProprietesRectangle()
{
hauteurField = new JTextField("12", 3);
add(hauteurField);
}
public void actionPerformed(ActionEvent event)
{
/********************************************
a cet endroit, le println fonctionne
mais pas le changement de valeur du champ
********************************************/
System.out.println("ça marche"); // fonctionne
hauteurField.setText("nouveau texte"); // n'insère pas le nouveau texte dans le champ
}
private JTextField hauteurField;
}
class Liste extends JPanel
{
public Liste()
{
JLabel figureLabel = new JLabel("Figure: ");
listeDeroulante = new JComboBox(new String[] {"Cercle 1", "Rectangle 1", "Triangle 1"});
add(listeDeroulante, BorderLayout.EAST);
ActionListener listener = new ProprietesRectangle();
listeDeroulante.addActionListener(listener);
}
private JTextField hauteurField;
private JComboBox listeDeroulante;
} |
|
|
Revenir en haut |
|
 |
gatwps dummy mioche

Inscrit le: 15 Avr 2004 Messages: 2
|
Posté le: Jeu Avr 15, 2004 11:03 am Sujet du message: tu ne travailles par sur le bon objet !!! |
|
|
tu instancies un objet pour l affichage dans ProprietesRectangle.class et un autre pour utiliser le listener dans Liste.class.
d ou le decalage (tu modifie un objet qui n est pas affiche)
Pour resoudre ce pb
dans TextTestFrame2
Code: | pRectangle = new ProprietesRectangle();
panel.add(pRectangle);
liste = new Liste(pRectangle);
panel.add(liste); |
et pour ta classe Liste
Code: | class Liste extends JPanel
{
public Liste(ProprietesRectangle listener)
{
JLabel figureLabel = new JLabel("Figure: ");
listeDeroulante = new JComboBox(new String[] {"Cercle 1", "Rectangle 1", "Triangle 1"});
add(listeDeroulante, BorderLayout.EAST);
// ActionListener listener = new ProprietesRectangle();
listeDeroulante.addActionListener(listener);
}
//private JTextField hauteurField;
private JComboBox listeDeroulante;
} |
ton attribut hauteurField ne sert a rien dans liste d ou son passage en commentaire  |
|
Revenir en haut |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|