2016-01-18 1 views
-3

J'ai un numéro JSliders dans mon application et je me demande pourquoi ils glissent seulement à mi-chemin.JSliders glissant seulement à mi-chemin

enter image description here

public class test1 extends javax.swing.JFrame { 
    public test1() { 
     initComponents(); 
     jSlider1.setExtent(255); 
     jSlider1.setValue(-255); 
} 
@SuppressWarnings("unchecked")      
private void initComponents() { 

    jSlider1 = new javax.swing.JSlider(); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

}      

public static void main(String args[]) { 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new test().setVisible(true); 
     } 
    }); 
} 

private javax.swing.JSlider jSlider1;     
} 
+2

Nous aussi, vous pourriez peut-être envisager de fournir un [** exemple exécutable **] (https://stackoverflow.com/help/mcve) qui illustre votre problème. Ce n'est pas ** un vidage de code, mais un exemple de ce que vous faites qui met en évidence le problème que vous rencontrez. Cela se traduira par moins de confusion et de meilleures réponses – MadProgrammer

+0

mis à jour @MadProgrammer – Tristan

+0

Quelle est la raison pour laquelle vous utilisez 'setExtent'? – MadProgrammer

Répondre

0

En utilisant SetExtent ou setMaximum semble fonctionner de la même, mais SetExtent fait en sorte que le curseur glisse seulement à mi-chemin. Le code approprié ressemble à ceci:

public class test1 extends javax.swing.JFrame { 
    public test1() { 
     initComponents(); 
     jSlider1.setMaximum(255); 
     jSlider1.setValue(-255); 
} 
@SuppressWarnings("unchecked")      
private void initComponents() { 

    jSlider1 = new javax.swing.JSlider(); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

}      

public static void main(String args[]) { 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new test().setVisible(true); 
     } 
    }); 
} 

private javax.swing.JSlider jSlider1;     
} 
0

Vous devez définir jslider1.setMinimum (-255) et jslider1.setMaximum (255) si votre intention est de créer comprise entre -255 et 255.

Vous pouvez implémentez également l'interface ChangeListener et utilisez addChangeListener pour ajouter l'écouteur au curseur. Vous pouvez faire quelque chose dans la méthode stateChanged (ChangeEvent e) par exemple. mettre à jour la couleur RVB.