首页 > 解决方案 > 而 True 循环阻止应用程序加载:Java Netbeans

问题描述

试图在一个不断更新时间的 GUI 中实现一个简单的时钟。我决定通过将标签设置为相当于日历输出的字符串,然后将其粘贴在 while true 循环中来做到这一点。问题是当我尝试这样做时,应用程序永远不会打开。没有错误消息或任何东西,它只是不会打开控制台窗口的图片。 我已将应用程序分成几个单独的 java 类:文件层次结构

时间设置代码:

package prototype;

import java.util.Date;


/**
 *
 * @author PC
 */
public class TimeAndDate {
Date date = new Date();

void timedisplay(javax.swing.JLabel a){
String hours = String.valueOf(date.getHours());
String minutes = String.valueOf(date.getMinutes());
String seconds = String.valueOf(date.getSeconds());
while(true){
a.setText(hours + ":" + minutes + ":" + seconds);

    }
}

使用上述方法的主要 GUI 表单的代码。

package prototype;

import javax.swing.JLabel;





/**
 *
 * @author PC
 */
public class MainMenu extends javax.swing.JFrame {

    /**
     * Creates new form MainMenu
     */
    public MainMenu() {
        TimeAndDate time = new TimeAndDate();
        initComponents(); 

        time.timedisplay(dateLbl);

    }

如果我取出 for 循环,代码可以正常工作(但当然时间不会更新)。我唯一的猜测是,无限循环给程序带来了太多难以处理的东西,但我找不到任何东西(或处理它)。想知道我怎样才能让这个时钟刷新。干杯。

标签: javanetbeansnetbeans-8

解决方案


推荐阅读