java - jSlider 代码导致应用程序挂起

标签 java netbeans

此 jSlider 代码导致应用程序挂起。

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:               
        try {
              for(int i=0;i<100;i++)
                {
            jSlider1.setValue(i);
            Thread.sleep(3000);
              }
        } catch (InterruptedException ex) {
            Logger.getLogger(AsdView.class.getName()).log(Level.SEVERE, null, ex);
        }              
}

谢谢大家,我正在更新答案

 Timer time = new Timer(100, new ActionListener() {
                  int percent = 0;

                @Override
                public void actionPerformed(ActionEvent e) {
                        percent++;
                        if (percent>100)
                                percent = 0;

                     jSlider1.setValue((int)(100*(percent/600.0)));
                }
        });
        time.start();

最佳答案

我猜你正在尝试做某种平滑滚动。

该代码卡住是因为处理窗口绘制、调整大小等的事件线程被您执行 Thread.sleep(3000) 100 次而卡住。

我建议您使用 Swing timer一点一点地改变滚动条。

关于java - jSlider 代码导致应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821983/

相关文章:

c# - Java BouncyCaSTLe AES 解密的 C# 等价物是什么?

java - Netbeans 7.1 Hibernate 逆向工程向导找不到数据库驱动程序

jsp - Glassfish 4.1 错误 : session. 使空指针异常无效

java - jpanel中如何在图片上方添​​加按钮

java - 多个输出突然不写任何输出?

java - 如果我针对 Glassfish 开发应用程序,是否需要在 POM.xml 中包含 Java EE maven 依赖项?

java - 如何检查txt文件是否是base64编码的

java - 如果数组大小先验未知,如何填充数组

java - 如何避免 NetBeans Java 项目中 GWT Horizo​​ntalSplitPanel 的弃用警告?

java - 读取/写入 jar 文件中的属性文件