Bonjours a tous,
je bloque actuellement sur plusieurs problemes lie a JFrame.
j'ai une application qui possede une fenetre principale, ainsi qu'une autre JFrame qui apparait pour demander la saisie d'information, qui possede une JcomboBox ainsi qu'un tableau d'icone associe affiche dans un JPanel pour l'affichage de l'image selectionne.
le focus n'agit pas lorsque j'instancie ma classe et apres avoir fait un request focus.
voici l'instanciation de la fenetre de saisie faite dans la classe principale:
ListeDeroulanteTest lm = new ListeDeroulanteTest("SousApplication" );
lm.setLocation(300, 300);
lm.requestFocus();
contenu de ListeDeroulanteTest:
public class ListeDeroulanteTest extends JFrame implements FocusListener{
private JComboBox images;
private JLabel etiquette;
public Icon[] icones;
public JTextField nom;
private String noms[] =
{ "./images/ConfigurationItem.32.gif",
"./images/ServiceLevelAgreement.32.gif",
"./images/WorkGroup.32.gif",
"./images/africa.32.gif",
"./images/aix.32.gif",
};
public ListeDeroulanteTest(String nomType)
{
super( "./imagesTest de JComboBox" );
Container c = getContentPane();
c.setLayout( new GridLayout(5, 1) );
//initialisation de la structure de donnee
icones = new Icon[noms.length];
JLabel texte = new JLabel("Saisie " + nomType);
nom = new JTextField();
JButton validation = new JButton("valider" );
images = new JComboBox( noms );
images.setMaximumRowCount( 123 );
//positionnement des etiquettes par default
if(nomType.equals("SousApplication" )){
images.setSelectedIndex(10);
}
//initialisation du tableau d'icones
for(int i=0; i< noms.length; i++){
//icones[i] = new ImageIcon( "./images/" + noms[ i ] );
icones[i] = new ImageIcon( noms[ i ] );
}
images.addItemListener(
new ItemListener() {
public void itemStateChanged( ItemEvent e )
{
etiquette.setIcon(
icones[ images.getSelectedIndex() ] );
}
}
);
etiquette = new JLabel( icones[ 0 ] );
c.add(texte);
c.add(nom);
c.add(validation);
c.add(images);
c.add( etiquette );
setSize( 350, 100 );
setFocusable(true);
addFocusListener(this);
show();
}
public void focusGained(FocusEvent e) {
}
public void focusLost(FocusEvent e) {
}
}
voila donc le focus n'agit pas avec ce code.
quelqu'un voit - il l'erreur?
Message édité par kungouf le 22-12-2004 à 14:08:05