Q:

Não consigo exibir o valor recebido do servidor

Estou atuando em um projeto escrito em Java com uma estrutura de Cliente – Servidor.
Meu cliente é composto por Interfaces gráficas com Swing e o servidor trabalhando com multi-threads.
Porem estou em um ponto onde não consigo prosseguir com o mesmo. Existe uma ação no servidor onde envia a cada 10 segundos um dado (String) para o cliente. O problema está no momento quando vou receber este dado e setar em uma label situada em um Jframe. Não estou conseguindo receber o dado e setar ao mesmo tempo. Segue o trecho onde recebo e seto o valor:
while (cond) {
    //Espera ate receber um dado do srv para ler
String line = in.readLine(),pedra;
    //Verifica se incia com PEDRA. True = Pego valor, setText
    if ( line.startsWith("PEDRA")) {
        pedra = line.substring(6));
        lblMostraDado.setText(pedra); 
//Caso for BINGO fim de jogo
}else if( line.startsWith("BINGO")){
cond = false;
}

Já realizei diversos testes e tirei algumas conclusões. Quando executo o código citado acima em modo debug os valores chegam do servidor e são atribuídos a label normalmente, porem ele não é atualizado na janela. Agora quando eu removo este while, ele recebe apenas uma vez o valor do servidor e consegue seta o valor na label e é atualizado na tela, porem preciso estar sempre pegando esses valores ate que a condição de parada do while venha.

A:

Você pode estar gerando um laço infinito com esse while, e o programa fica tão ocupando executando o while que não tem tempo de atualizar a tela.
Experimente colocar o seguinte comando dentro do while, na primeira 
Thread.sleep(1000);

Faça o try/catch se necessário. 
Isso irá fazer o programa "dormir" por 1 segundo a cada iteração do laço, dando tempo de atualizar a tela.

