Guegue85
Messages postés11Date d'inscriptionsamedi 12 février 2005StatutMembreDernière intervention12 août 2006
-
27 juil. 2006 à 21:21
cs_Kouikoui
Messages postés23Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention26 mars 2007
-
3 août 2006 à 11:27
Bonsoir,
Voilà, j'ai une JCombobx, dans laquelle il y a une liste de choix. Au depart, la combo affiche un item du style "Choisissez la ville". Je voudrais que lorsque l'on clique sur la combo, cet item disparaisse.
Je ne sais pas quel Listener utilisé, car ActionListener se lance une fois qu'on a selectionner un item et MouseListener n'est pas operationnel quand on clique sur la fleche de droite de la Combobox.
ObiWanKennedy
Messages postés60Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention29 octobre 20101 29 juil. 2006 à 23:57
Salut, j'ai essayé de faire ce que tu dis je n'y suis pas arriver j'ai essayer avec MouseListener,ActionListener,ListDataListener,MouseMotionListener aucun ne réagit lors du clique sur la flèche. Parcontre j'ai implémenté ma classe avec un focuslistener et il réagit lors du clique sur la combobox dans le cas ou elle n'etait pas séléctionné donc si tu as un formulaire avec plusieurs champs sa reste jouable. lors du clique sur la combobox tu reçoit le message que l'utilisateur à placer son "focus" sur la liste déroulante. Donc qu'il clique sur la flèche où le reste pour dérouler la liste celà t'enverra le message. (et tu peux s'avoir si il perds le "focus") Je te file vite fait le code que j'ai fais pour tester ça il y a de classe un main et une classe qui hérite de Jcombobox voilà j'espere que cela t'aidera.
import
javax.swing.JFrame;
import
javax.swing.JPanel;
import
javax.swing.JTextField;
public
class ecouteur {
/**
*
@param args
*/
public static void main(String[] args) {
JFrame mafenetre =
new JFrame(
"Ma fenetre");String[] machaine = {
"bonjour","tout le monde"};mon_combo lecombo new mon_combo(machaine);JPanel monpanno
new JPanel();JTextField mon =
new JTextField(
"salut");mafenetre.setDefaultCloseOperation (JFrame.
//////////////////////////////// fin de la class main //////////////////////
import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import
java.awt.event.FocusEvent;
import
java.awt.event.FocusListener;
import
java.awt.event.MouseEvent;
import
java.awt.event.MouseListener;
import
java.awt.event.MouseMotionListener;
import
javax.swing.JComboBox;
import
javax.swing.event.ListDataEvent;
import
javax.swing.event.ListDataListener;
public
class mon_combo
extends JComboBox
implements MouseListener,ActionListener,ListDataListener,MouseMotionListener,FocusListener {
/**
*
*/
private static final long serialVersionUID = 1L;
public void mouseClicked(MouseEvent arg0) {System.
out.println(
"ici1");
}
public void mouseEntered(MouseEvent arg0) {System.
out.println(
"ici2");
}
public void mouseExited(MouseEvent arg0) {System.
out.println(
"ici3");
}
public void mousePressed(MouseEvent arg0) {System.
out.println(
"ici4");
}
public void mouseReleased(MouseEvent arg0) {System.
out.println(
"ici5");
}
public mon_combo(String[] a){
super(a);
this.addMouseListener(
this);
this.addFocusListener(
this);
this.addMouseMotionListener(
this);}
public void contentsChanged(ListDataEvent arg0) {System.
out.println(
"ici6");
}
public void intervalAdded(ListDataEvent arg0) {System.
out.println(
"ici7");
}
public void intervalRemoved(ListDataEvent arg0) {System.
out.println(
"ici8");
}
public void actionPerformed (ActionEvent evt)
/* * Ecouteur d'action.Toutes les actions faîtes par l'utilisateur
* sont attrapé ici
*
*/
{
System.
out.println(
"ici9");}
public void mouseDragged(MouseEvent arg0) {System.
out.println(
"ici10");
}
public void mouseMoved(MouseEvent arg0) {System.
out.println(
"ici11");
}
public void focusGained(FocusEvent arg0) {System.
out.println(
"ici12");
}
public void focusLost(FocusEvent arg0) {System.
out.println(
"ici13");
}
}
Bon je n'ai mis que des affichages console. bete et méchant ce n'est pas tres classe (désolé je sors (classe java jeu de mot )) mais bon il te restera à effectuer le codage de temps fonctions bon je pense que celà ne correspond pas à 100 % a ton souhait mais en réfléchissant un peu tu dois pouvoir donné a ton application le comportement que tu veux.