JCombo Box + incrémentation

Signaler
Messages postés
2
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
1 août 2003
-
Messages postés
2
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
1 août 2003
-
Bonjour,

Je veux réaliser une Combox Box editable qui puisse s'incrémenter en appuyant sur la touche + et se décrementer en appuyant sur la touche -
Prenons comme exemple une valeur 19.07 qui est présente dans ma combo. si j'appuie sur + ce sera 19.08 et si j'appuie sur moins ce sera 19.06
Je travaille actuellement en JDK1.3.1_08.

[PluTøNiuM] [mailto:plutonium719@yahoo.fr E-mail]
129337118

2 réponses

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
tu peux pas faire une variable temporaite pour t'en servir pour faire ton ++ ou ton --

par la suite, tu affiche celui en conséquense

j'ai pas tester, masi il em semble que tu as dequoi qui ressemble selectedItem

dequoi du genre ou c'est en Vb ça. masi dois avoir une fa^con de sélectionner un item par du code et grâce à ta varible temporaier tu peux connaitre l'item à sélectionner
Messages postés
2
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
1 août 2003

En fait ça marche en 1.4 avec une combo non-editable.
en 1.3, ça marche pas.

Voici le code :

import java.awt.event.*;
import javax.swing.*;
import java.text.DecimalFormat;
import java.util.Vector;

public class ComboPlus extends JFrame implements KeyListener
{
    private JPanel _pane;
    private JComboBox _combo;
    static final double ajout =  0.01;

    public ComboPlus()
    {
        super( "ComboPlus Solution" );
        
        _pane = new JPanel();
        _pane.setLayout(null);
        
        _combo = new JComboBox();
        _combo.setBounds(10,10,120,20);
        _combo.setVisible(true);
        _combo.addItem("19.07");
        _combo.addKeyListener(this);
        
        _pane.add(_combo);
        getContentPane().add(_pane);
       
        setSize( 150, 150 );
        setVisible( true );
  }

  public void keyPressed(KeyEvent evt) 
  {
        String value = (String)_combo.getSelectedItem();
        int index = _combo.getSelectedIndex();

        DecimalFormat df = new DecimalFormat("########.00");

        Vector vect = new Vector();

        for(int i=0;i<_combo.getItemCount();i++)
        {
            vect.add((String)_combo.getItemAt(i));
        }

        value = value.replace(',','.');

        double nb = Double.parseDouble(value);

        if(evt.getKeyCode() == KeyEvent.VK_ADD)
        {
            nb += ajout;
        }

        if(evt.getKeyCode() == KeyEvent.VK_SUBTRACT)
        {
            nb -= ajout;
        }

        vect.setElementAt(df.format(nb),index);

       _combo.setEditable(true);

       _combo.removeAllItems();

       for(int i=0;i<vect.size();i++)
       {
           _combo.addItem(vect.elementAt(i));
       }

        _combo.setSelectedItem(df.format(nb));
        _combo.setEditable(false);
  }
    
  public void keyReleased(KeyEvent evt){}
  public void keyTyped(KeyEvent evt){}

  public static void main(String[] args) 
  {
      ComboPlus appli = new ComboPlus();
      appli.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
  }
}


:) [PluTøNiuM] [mailto:plutonium719@yahoo.fr E-mail]
[img src ="http://web.icq.com/whitepages/online?icq=129337118&img=21