Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置JSlider在窗口中的位置?_Java_Swing_Layout_Jslider - Fatal编程技术网

Java 如何设置JSlider在窗口中的位置?

Java 如何设置JSlider在窗口中的位置?,java,swing,layout,jslider,Java,Swing,Layout,Jslider,我试图将JSlider放在应用程序的底部,但它不起作用。JSlider实际上可以工作,显示所有内容,我只需将其设置在只剩下的底部 如果有人知道,那么建议我该怎么做 我的代码: final JSlider slider1 ; slider1 = new JSlider(JSlider.HORIZONTAL,0,5,1);//direction , min , max , current slider1.setMajorTickSpacing(100);

我试图将JSlider放在应用程序的底部,但它不起作用。JSlider实际上可以工作,显示所有内容,我只需将其设置在只剩下的底部

如果有人知道,那么建议我该怎么做

我的代码:

       final JSlider slider1 ;
       slider1 = new JSlider(JSlider.HORIZONTAL,0,5,1);//direction , min , max , current

       slider1.setMajorTickSpacing(100);
       slider1.setMinorTickSpacing(25);
       slider1.setPaintLabels(true);
       slider1.setPaintTicks(true);
       slider1.setPaintTrack(true);
       slider1.setAutoscrolls(true);

       slider1.setPreferredSize(new Dimension(200,50));
       add(slider1);
       slider1.addChangeListener(new ChangeListener() 
       {

        @Override
        public void stateChanged(ChangeEvent arg0) 
        {
            // TODO Auto-generated method stub
            fval=slider1.getValue();
            repaint();
        }
       });

有什么建议请…

如果您想让JSlider位于底部,请尝试以下方法:

frame.add(slider, BorderLayout.SOUTH);
在您的代码中,我认为如果您添加到

add(slider1);
这:

编辑: 要在带有图片的JFrame上显示一组滑块,请将图片添加到JPanel,并将滑块添加到JPanel。因此,放置它更容易

比你能用的还多:

JPanel panel = new JPanel(new GridLayout(1, 0, 1, 0);
panel.add(slider1);
panel.add(slider2);
...
add(panel, BorderLayout.SOUTH);
add(picturepanel, BorderLayout.CENTER);


如果您需要更高的精度,请使用网格布局

如果您想让JSlider位于底部,请尝试以下操作:

frame.add(slider, BorderLayout.SOUTH);
在您的代码中,我认为如果您添加到

add(slider1);
这:

编辑: 要在带有图片的JFrame上显示一组滑块,请将图片添加到JPanel,并将滑块添加到JPanel。因此,放置它更容易

比你能用的还多:

JPanel panel = new JPanel(new GridLayout(1, 0, 1, 0);
panel.add(slider1);
panel.add(slider2);
...
add(panel, BorderLayout.SOUTH);
add(picturepanel, BorderLayout.CENTER);



如果您需要更高的精度,请使用网格布局

完全取决于使用的布局管理器。你在用什么?在这种情况下,请看@Gerret的答案。它不起作用,我也使用了图像。请具体说明。“不工作”是什么意思?它是否显示在错误的位置?如果是这样的话,与期望的结果相比,它有什么错呢?它不工作,因为它没有在底部设置滑块,否则一切正常。我显示的图像也随着幻灯片状态的改变而改变,图像的亮度也随之改变,同时新图像也写入磁盘。我只需要在底部放置滑块。完全取决于使用的布局管理器。你在用什么?在这种情况下,请看@Gerret的答案。它不起作用,我也使用了图像。请具体说明。“不工作”是什么意思?它是否显示在错误的位置?如果是这样的话,与期望的结果相比,它有什么错呢?它不工作,因为它没有在底部设置滑块,否则一切正常。我显示的图像也随着幻灯片状态的改变而改变,图像的亮度也随之改变,同时新图像也写入磁盘。我只需要将滑块放在底部。它不起作用,我已经试过了。我还在那个窗口上显示图像,因为用户幻灯片的图像亮度会改变,我所要做的就是将滑块设置为botton。在滑块的每个状态发生变化时,我都会重新绘制。OK,所以您必须使用BorderLayout将每个面板等设置在正确的位置。例如,您有一个带有图片的面板。使用:添加(面板、边框布局、中心)等。如果你有更多的滑块,你应该把它们放在另一个面板上,这样你就可以把面板设置在正确的位置。例如:JPanel panel=newjpanel(newgridlayout(1,0,1,0));面板。添加(滑块);使用网格布局,您可以将组件放置在网格上。我更新了一下我的答案^^^是的,我已经把两个部分放在不同的面板中,然后在屏幕区域将它们分开,即中间和南部,非常感谢。如果你没有我的答案,上次你能帮我吗?我的整个应用程序都准备好了,还有一件事我不明白其中的问题是什么。我的问题是[链接]让我们知道它不起作用,我已经试过了。我还在那个窗口上显示图像,因为用户幻灯片的图像亮度会改变,我所要做的就是将滑块设置为botton。在滑块的每个状态发生变化时,我都会重新绘制。OK,所以您必须使用BorderLayout将每个面板等设置在正确的位置。例如,您有一个带有图片的面板。使用:添加(面板、边框布局、中心)等。如果你有更多的滑块,你应该把它们放在另一个面板上,这样你就可以把面板设置在正确的位置。例如:JPanel panel=newjpanel(newgridlayout(1,0,1,0));面板。添加(滑块);使用网格布局,您可以将组件放置在网格上。我更新了一下我的答案^^^是的,我已经把两个部分放在不同的面板中,然后在屏幕区域将它们分开,即中间和南部,非常感谢。如果你没有我的答案,上次你能帮我吗?我的整个应用程序都准备好了,还有一件事我不明白其中的问题是什么。我的问题是[链接]让我们