繁体   English   中英

Java-在JScrollPane的JTextArea中添加文本将停止程序

[英]Java - appending text in JTextArea in JScrollPane stops the program

有:JTextArea日志,JScrollPane滚动。 这是正在创建的Scroll函数:

    public void createLog(){

    log = new JTextArea();
    log.setEditable(false);
    JScrollPane scroll = new JScrollPane(log);
    scroll.setLocation(400,5);
    scroll.setSize(400,400);
    add(scroll);
    }

这是创建滚动窗格的代码。 这是我需要做的功能:

    public void setBotx2(int coins, int playcoins){

    int lose = 0, play = playcoins;
    while(coins > playcoins && coins < 2147483647)
    {
        lose++;
        coins -= play;
        if(drawNumberQuickly()%2 == 0)
        {
            coins += play;
            play = playcoins;
            log.append(lose + ". Game won. Coins: " + coins + ". Now playing 
    with: " + play + "\n");
        }
        else
        {
            play = playcoins*2;
            log.append(lose + ". Game lost. Coins: " + coins + ". Now 
    playing with: " + play + "\n");
        }               
    }
    log.append("Lost in the " + lose + ". game.");  
    }

当我在应用程序中启动此功能时,程序将停止并且无法关闭。 我需要与任务管理器将其关闭。 一切都在一个框架中,所以我没有添加frame.add(..)。

查看Swing教程中有关具有临时结果的任务的部分。

它显示了如何使用SwingWorker发布结果。 在示例中甚至使用硬币翻转。

因此,修改工作示例以使用JTextArea进行更新而不是使用文本字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM