Autocompletion et le message

cs_Manyanya Messages postés 51 Date d'inscription mercredi 23 décembre 2009 Statut Membre Dernière intervention 9 mai 2012 - 7 mai 2012 à 18:18
cs_Manyanya Messages postés 51 Date d'inscription mercredi 23 décembre 2009 Statut Membre Dernière intervention 9 mai 2012 - 9 mai 2012 à 10:28
Salut à tous,

J'ai fais une autocompletion sur le Jcombobox(le développement est réalisé avec netbeans). Il arrive que lors des saisies je ne sais plus avancer à cause du message d'erreur: "Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:232)"

J'ai besoin d'un coup de main et je suis preneur pour toute idée.

Permettez que je joigne un morceau de mon code d'où se réalise cette erreur:


private void automate()
{
if(choixsaisie==1)
{
final JTextComponent editor=(JTextComponent)VComb_Tache.getEditor().getEditorComponent();
editor.addKeyListener(new KeyAdapter()
{

// @Override
// public void keyTyped(KeyEvent e) {}

@Override
public void keyReleased(KeyEvent e)
{
choixsaisie=1;
if(VComb_Tache.isDisplayable())VComb_Tache.setPopupVisible(true);
if(editor.getText()==null || editor.getText().trim().length()==0)
{
VComb_Tache.setPopupVisible(false);e.setKeyCode(0);
}
else if(e.getKeyCode()==KeyEvent.VK_ENTER)
{
choixsaisie=1;essai=editor.getText();update();choixsaisie=0;VComb_Tache.setPopupVisible(false);
if(index_tache>0)
{
enter();e.setKeyCode(0);choixsaisie=0;
}
}
else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
if(index_tache<taillesaisie)
{
index_tache++;
}
else
{
index_tache=1;
}
VComb_Tache.setSelectedIndex(index_tache);

// index_tache=VComb_Tache.getSelectedIndex();

e.setKeyCode(0);
}
else if(e.getKeyCode()==KeyEvent.VK_UP)
{

if(index_tache>0)
{
index_tache--;
}
else
{
index_tache=taillesaisie-1;
}
VComb_Tache.setSelectedIndex(index_tache);

// index_tache=VComb_Tache.getSelectedIndex();

e.setKeyCode(0);

// index_tache=VComb_Tache.getSelectedIndex();
e.setKeyCode(0);
}
else
{
choixsaisie=1;essai=editor.getText();update();
choixsaisie=0;e.setKeyCode(0);editor.setText(essai);
}
}
// @Override
// public void keyPressed(KeyEvent e) {}


//
}


);

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
7 mai 2012 à 22:10
0
cs_Manyanya Messages postés 51 Date d'inscription mercredi 23 décembre 2009 Statut Membre Dernière intervention 9 mai 2012 11
9 mai 2012 à 10:28
Merci Julien39 pour votre réponse,

je me suis inspiré de ce lien pour mon autocompletion.

Laissez-moi faire un commentaire de mon application à ce sujet.

Il s'agit d'un module de mon application où j'ai fait de l'autocomplétion dans un Jcombobox. On sélectionne l'item dans ce combo par l'autocomplétion puis on va donner la quantité de l'article (par un jtextfield) que l'on veut (parce que c'est un problème de stocks) puis on saisit la date. S'il y a plusieurs articles à saisir on revient sur le combobox. Et ainsi de suite.

C'est à la fin que les données regroupées dans une jtable seront enregistrées dans ma base des données Mysql.

Le problème est que ce message apparait lorsque l'on tape au moins 12 caractères (touche sur le clavier ou les flèches up/down).

Je ne sais pas comment étendre mes "accès" dans l'autocomplétion de mon Jcombobox surtout lorsque l'on tape un article de plus de 12 caractères ou lorsque l'on doit faire 12 fois avec les flèches up/down.

D'avance merci pour l'intérêt que vous porter à mes préoccupations !
0
Rejoignez-nous