IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[JSlider] Problème pour afficher la valeur


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut [JSlider] Problème pour afficher la valeur
    Voici le code de ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
    import java.awt.*;
    import java.awt.event.*;
     
    import javax.swing.*;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
     
    public class SliderDemo extends JFrame implements ActionListener {
     
      public static void main(String[] args) {
        new SliderDemo();
      }
     
      protected JSlider slider1,slider2,slider3;
      protected JButton getValue;
      protected JLabel l1,l2;
      protected JPanel p1,p2;
      protected ChangeListener listener; 
     
      public SliderDemo() {
     
        Container content = getContentPane();
        content.setBackground(Color.white);
     
        l1=new JLabel();
        l2=new JLabel();
     
        p1=new JPanel();
     
        listener=new SliderListener(l1);
     
        slider3 = new JSlider(2,15);
        slider3.setBorder(BorderFactory.createTitledBorder("JSlider with Tick Marks & Labels"));
        slider3.setMajorTickSpacing(3);
        slider3.setMinorTickSpacing(1);
        slider3.setPaintTicks(true);
        slider3.setPaintLabels(true);
        p1.add(slider3, BorderLayout.WEST);
        p1.add(l1,BorderLayout.EAST);
        getValue=new JButton("getValue");
     
        slider3.addChangeListener(listener);
        content.add(getValue,BorderLayout.EAST);
        content.add(p1,BorderLayout.NORTH);
        getValue.addActionListener(this);
        pack();
        setVisible(true);
      }
     
     
      public void actionPerformed(ActionEvent e) {
    		Object o = e.getSource();
    		if(o==getValue){
    			System.out.println("\n"+slider3.getValue());
    		}
      }
     
     
    }
     
    class SliderListener implements ChangeListener { 
     	JLabel l1; 
     	public SliderListener(JLabel f) { 
     		l1 = f; 
     	} 
     
     	public void stateChanged(ChangeEvent e) { 
     	    JSlider s1 = (JSlider)e.getSource(); 
     	   l1.setText("Value " + s1.getValue()); 
     	} 
    }
    Malgré le branchement sur le ChangeListener, je n'ai pas d'affichage de ma valeur au fur et à mesure que je déplace le slide. Pourquoi, je ne comprends pas...

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Par défaut
    Tout marche bien dans ton programme pourtant!
    Faut juste que tu change ton
    en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new SliderDemo().setSize(300,200);
    En fait, ton rafraichissement se passe bien mais ta fenêtre est trop petite donc tu ne vois pas l'information, c'est tout

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    effectivement, ça marche, merci beaucoup.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    une dernière question, parce que ça a beau être un détail, c'est visuellement pénible.
    Quand je déplace le curseur, selon que la valeur affichée ait 1 ou 2 chiffres, mon slider se déplace de quelques pixels dans son panel. Comment le fixer??

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/01/2012, 11h11
  2. Problème pour afficher une image bmp
    Par homeostasie dans le forum MFC
    Réponses: 6
    Dernier message: 08/05/2005, 18h36
  3. [MFC]Problème pour afficher une image.
    Par Deedier dans le forum MFC
    Réponses: 4
    Dernier message: 25/03/2005, 16h13
  4. Réponses: 13
    Dernier message: 23/12/2004, 18h01
  5. Réponses: 3
    Dernier message: 29/08/2003, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo