JSliders只是半途而废

时间:2016-01-18 02:35:12

标签: java swing jslider

我的应用程序中有一些JSliders,我想知道为什么它们只会滑到一半。

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 个答案:

答案 0 :(得分:0)

使用setExtent或setMaximum似乎工作原理相同但setExtent使得滑块只滑动了一半。正确的代码如下所示:

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;                
}

答案 1 :(得分:0)

如果您打算创建范围从-255到255,则应设置jslider1.setMinimum(-255)和jslider1.setMaximum(255)。

您还可以实现ChangeListener接口并使用addChangeListener将侦听器添加到滑块。您可以在方法stateChanged(ChangeEvent e)中执行某些操作,例如更新RGB颜色。