怎么将线程与GUI界面联系起来?

public synchronized void guessNUmber1(int count) {
    if (Thread.currentThread() == guessNumberThread1 && isGiveNumber1 == true) {
        while (pleaseGuess1 == false)
            try {
                wait();
            } catch (InterruptedException ex) {
            }
        if (message1 == SMALLER) {
            min = guessNumber1;
            guessNumber1 = (min + max) / 2;
            System.out.println(Thread.currentThread().getName() + "第" + count + "次猜测,");
            System.out.println(Thread.currentThread().getName() + "第" + count + "次猜这个数是:" + guessNumber1);
        }
    } else if (message1 == LARGER) {
        max = guessNumber1;
        guessNumber1 = (min + max) / 2;
        System.out.println(Thread.currentThread().getName() + "第" + count + "次猜测,");
        System.out.println(Thread.currentThread().getName() + "第" + count + "次猜这个数是:" + guessNumber1);
    }
    if (realNumber1 > guessNumber1) {
        message1 = SMALLER;
        System.out.println(Thread.currentThread().getName() + "猜小了");
    } else if (realNumber1 < guessNumber1) {
        message1 = LARGER;
        System.out.println(Thread.currentThread().getName() + "猜大了");
    }
    pleaseGuess1 = false;
}//这是第一个猜数字的线程

下面是设计要求

模拟三个线程猜数字,一个线程负责随机给出1-100之间的一个整数,另外两个线程负责猜测。要求每当一个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或“猜对了”。猜数之前,要求后面二个线程要等待第一个线程设置好要猜的数。第一个线程设置好猜测数之后,三个线程还要互相等待,其原则是:后面二个线程给出自己的猜测后,等待第一个线程给出的提示;第一个线程给出提示后,等待后面二个线程给出猜测,如此进行,直到某个线程给出正确的猜测后,三个线程进入死亡状态。设计一个GUI界面。

首先界面不能处于忙碌状态,界面等待线程发来的消息,根据消息做出任何响应即可。