有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与JSlider一起使用的java自定义范围

我正在尝试创建一个jslider,它可以在以下范围内移动

[-x,-1)[1,x]

简而言之,我不希望值-1和0成为JSlider的有效值。 但是应该允许从x到-1的值,并且应该允许从1到x的值

我不想写黑客代码,所以我不想在UI代码中编写一个函数,只从不同的(连续的)范围获取值,然后用一堆it语句将其转换为我想要的范围

理想情况下,我应该能够调用slider.getValue(),并且知道返回值将在我上面描述的范围内


共 (1) 个答案

  1. # 1 楼答案

    我认为你必须自己做这个值调整,也许是在重写的方法setValue()

    请尝试以下代码:

        int x = 10;
        @Override
        public void setValue(int n)
        {
            if((n >= -x && n < -1)|| (n =< x && n >= 1))
            {   
                super.setValue(n);
                System.out.println("OI in setValue");
            }
        }