Por favor,um help!

Bom,estou implementando um jogo de adivinhação com a parte gráfica do java(swing),o código compila legal porém na hora de clicar no botão para saber se o numero que digitei é maior ou menor,simplesmente o programa trava!!Tenho impressão que seja no laço for no método actionPerformed(),porém se vcs pudessem me ajudar,eu agradeço!!

Aqui está o código:

import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;



public class PintaJanela{
	public static void main(String args[]){
		
		JFrame frame = new Janela(700,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
	
	
}




class Janela extends JFrame{
	
	JPanel content;
	JTextField field,field2;
	JButton button;
	
	public Janela(int height,int width){
		
		this.setTitle("Jogo da Adivinhação");
		
		content = new JPanel();
		content.setLayout(new FlowLayout(FlowLayout.LEFT));
		content.setBackground(Color.gray);
		
		
		JLabel label = new JLabel("ENTRE COM UM VALOR ENTRE 1 E 10");
		label.setFont(new Font("SERIF",Font.ITALIC,15));
		label.setForeground(Color.white);
		content.add(label);
		
		field = new JTextField(6);
		content.add(field);
		
		button = new JButton("CLIQUE");
		button.setForeground(Color.white);
		button.addActionListener(new Adivinha());		
		content.add(button);
		
		field2 = new JTextField(20);
		content.add(field2);
		field2.setEditable(false);	
		
		
		
		this.setContentPane(content);
		this.setSize(height,width);
		this.validate();
		
		
	}
	
	
	
	class Adivinha implements ActionListener{
		
		
		public String sai = "false";
		
		public void actionPerformed(ActionEvent e){
			
			//public String sai = "false";
			
			int valor = 1 + (int)(Math.random() * 10);
			
			
			do{		
			   int aux = Integer.parseInt(field.getText());	
			   
			   if(aux > valor){
				   content.setBackground(Color.red);
				   field2.setText("Tente um valor MENOR");				
				   
				
			   }else if(aux < valor){
				   content.setBackground(Color.blue);
				   field2.setText("Tente um valor MAIOR");
				   
			   }else{
				   field2.setText("VOCE ACERTOU...PARABENS!!!");
				   sai = "true";
			   }
			}while(sai.equals("false"));
			
			
			
		}
		
		
	
			
	}
	
	
	
	
	
}

Cara ele ta demorando pq nao esta conseguindo sair do while …
uma vez gerado um numero que satisfaça isso aux < valor (e vc há de convir que nao é muito dificil) ele nunca vai sair do while … sacou ?

Nao to com muito tempo agora pra mexer no seu codigo , mas se eu fosse vc retiraria esse while , ele esta sem necessidade alguma … se ninguem resolver pra vc eu posso fazer amanha , mas vai tentando !

pode tirar o do while que funciona … testei aqui !

Camaradas consegui resolver meu PRO,pessoal de outro forum me ajudaram com o problema,brossi obrigado tb pelo auxílio!!!

Esta aqui o código sem o while,valew aê pessoal.

[code]
import javax.swing.;
import javax.swing.event.
;
import java.awt.;
import java.awt.event.
;

public class PintaJanela{
public static void main(String args[]){

	JFrame frame = new Janela(700,100);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.setVisible(true);
}

}

class Janela extends JFrame{

JPanel content;
JTextField field,field2;
JButton button;
int tentativas = 0;
int valor = 0;

public Janela(int height,int width){
	
	this.setTitle("Jogo da Adivinhação");
	
	content = new JPanel();
	content.setLayout(new FlowLayout(FlowLayout.LEFT));
	content.setBackground(Color.gray);

	
	
	JLabel label = new JLabel("ENTRE COM UM VALOR ENTRE 1 E 10");
	label.setFont(new Font("SERIF",Font.ITALIC,15));
	label.setForeground(Color.white);
	content.add(label);
	
	field = new JTextField(6);
	content.add(field);
	
	button = new JButton("CLIQUE");
	button.setForeground(Color.white);
	
	button.addActionListener(new Adivinha());		
	
	content.add(button);
	
	field2 = new JTextField(20);
	content.add(field2);
	field2.setEditable(false);	
	
	
	
	this.setContentPane(content);
	this.setSize(height,width);
	this.validate();
	
	
}



class Adivinha implements ActionListener{
	
	
	
	public void actionPerformed(ActionEvent e){
		
		
		if(tentativas == 0){
			valor = 1 + (int)(Math.random() * 10);
			//System.out.println("Valor = " + valor);
		}
		
		
		tentativas++;
		
		   	
		int aux = Integer.parseInt(field.getText());	
		   
		if(aux > valor){
		   content.setBackground(Color.red);
		   field2.setText("Tente um valor MENOR");				
			   
			
		}else if(aux < valor){
		   content.setBackground(Color.blue);
		   field2.setText("Tente um valor MAIOR");
			   
		}else{
		   field2.setText("VOCE ACERTOU...PARABENS!!!")// + tentativas);
		   tentativas = 0;
		}
		
		
		
		
	}
	
	

		
}

}[/code]