Como Pausar Processo até que JTextField seja Preenchido ou a tecla enter seja acionada

Bom dia!!

Pessoal , preciso da ajuda de vcs ?

preciso parar um processo até que o Campo JTextField seja preenchido ou tecla enter acionada.

Explicação , uso esse campo para capturar Data de postagem , porem tem um processo que carrega um arquivo antes ,

mas so posso carregar esse arquivo depois que esse campo for preenchido

no clipper tinha o comando Wait ou o Comando Inkey(0) que esperava o tecla enter ser acionada

Bom desde já Agradeço

att JavaX

Bom dia…
Oque seria este processo?
Você pode esta chamando o mesmo no evento de seu botão.
Incluindo a validação do campo text…
Abraços

vc vai observa que tenho o metodo

Fac.DataPost(texto3);  
public String DataPost(JFormattedTextField DataPostagem){
   
Scanner input = new Scanner(System.in);   
/*System.in é pra ler da entrada padrão, normalmente o teclado*/   
//String pause = input.next();
/*aqui ele vai ficar esperando até que vc digite alguma coisa e tecle enter*/  
   String aux="";
    aux = DataPostagem.getText() ;
     System.out.println(aux);     

     String pause = input.next(aux);
/*aqui ele vai ficar esperando até que vc digite alguma coisa e tecle enter*/  

     pause.equals("__/__/____");
 //     while (aux.equals("__/__/____")){
 //      Util.ValidaData(aux, aux);
 //      break;
 //     }
      return aux;
    }
   // Metodo ValidaData Para Validar Datas
   public boolean ValidaData(String validar, String campo){
      boolean verdadeiro = true;   
       if(validar == null || validar.equalsIgnoreCase("__/__/____")){   
          JOptionPane.showMessageDialog(null, "Favor Preencher Data de Postagem: " +campo," erro", JOptionPane.ERROR_MESSAGE);   
          verdadeiro = false;
       }
       return verdadeiro;   
   }   

[size=18]Bom dia este! é o meu processo[/size]

botao1.addActionListener(new ActionListener(){                            // Evento Click Para Busca de Arquivo
       public void actionPerformed(ActionEvent Clik){
        //JFileChooser fileChooser = new JFileChooser(".");
        JFileChooser fileChooser = new JFileChooser("C:\\Java\\Fontes\\Boleto");// Força a Abrir em uma Pasta Determinada
        fileChooser.showOpenDialog(tela);                                       // Abri Chooser na Tela
        File Arquivo_Entrada = fileChooser.getSelectedFile();                   // Grava Arquivo Selecionado
        Caminho = Arquivo_Entrada.getPath();                                    // Captura Caminho e Nome do Arquivo Selecionado
        texto1.setText(Caminho.toUpperCase());                                  // Repassa Caminho e o Nome do arquivo Selecionado no Chooser Para Caixa de Texto Arquivo de Entrada
        texto1.setText(Arquivo_Entrada.getName().toUpperCase());                // Repassa Somente o Nome do arquivo Selecionado no Chooser Para Caixa de Texto Arquivo de Entrada
        RetExtesao = Arquivo_Entrada.getName().length()- 4;                     // Captura a Quatidade de Caracter de Um Arquivo Para Poder Retirar a Extensão
        texto2.setText(texto1.getText().substring(0,RetExtesao));               // Copia o Nome do Arquivo da Caixa de Entrada Para Caixa de Saida Sem a Extensão
        rotulo2.setVisible(true);                                               // Label Data De Postagem Fac
        texto3.setVisible(true);                                                // Caixa de Texto Data De Postagem Fac

       // Começo Limpa o Tabela **********************************************
         conexao.executeSQL_BdClear("Delete From App.Tipo01");                  // Limpa o Banco de Dados  
      // Final Limpa o Tabela  **********************************************
        
        //Começo Metodos Da Class OpFac
          Fac.OpFac();
          Fac.OpGera();
          Fac.OpPeso(); 
          Fac.DataPost(texto3);
        //Começo Metodos Da Class OpFac
     
        // Começo Carrega o Tabela ********************************************
        try{
         FileReader reader = new FileReader(Arquivo_Entrada);
         BufferedReader bufReader = new BufferedReader(reader);
          
         while ((dadosEntrada = bufReader.readLine()) != null) {
            dados = "";
            iniEntrada = 0;
            Contador = 0;
             while (Contador < EstruturaTipo01.length){
	      if (Contador == EstruturaTipo01.length-1)
	        dados = dados + "'" + dadosEntrada.replace("'", " ").substring(iniEntrada, iniEntrada + EstruturaTipo01[Contador])+ "'";
               else
		dados = dados + "'" + dadosEntrada.replace("'", " ").substring(iniEntrada, iniEntrada + EstruturaTipo01[Contador]) + "', ";
		iniEntrada = iniEntrada + EstruturaTipo01[Contador];
		Contador++;
             }
               conexao.executeSQL_BdAppend("Insert Into "                       // Comando Sql
               +"App."                                                          // Squema Da Tabela
               +"Tipo01 "                                                       // Tipo de Tabela
               +"(Nome, Endereco, Numero, Bairro, Cidade, Estado, Cep)"         // Nomes dos Campos Da tabela
               +" values (" + dados + ")");                                     // Dados a ser Inseridos Nos Campos Da tabela
          }
          bufReader.close();
          reader.close();
          }
	   catch (IOException erro){
	   //informacao = erro.getMessage();
	   }

         // Começo Carrega o Tabela *******************************************

         
        
        // Começo Cria Aquivo em Spool de impressão ou Asa ********************

        conexao.executeSQL_BdNavigator("Select * From App.Tipo01 ");            // Seleciona o Banco de Dados

        // FileWriter para gerar arquivo
         FileWriter writer = null;     
         try {
          writer = new FileWriter(texto2.getText()+".001");
         } catch (IOException ex) {
          Logger.getLogger(Boleto.class.getName()).log(Level.SEVERE, null, ex);
         }
          // PrintWriter pra escrever no arquivo (em texto!)   
         PrintWriter Fwrite = new PrintWriter(writer);     
           
           Fwrite.println("%!");
           Fwrite.println("XGF");
           Fwrite.println("500 SETBUFSIZE");
           Fwrite.println("(PRINCIPAL.JDT) STARTLM");

          try {
           while(conexao.resultset.next()) {                                    // Eof ou End Of File  Enquando não for final de Arquivo
            sequencia++;
            rotulo1.setText("Total de Registros: "+sequencia);
            CodCif = "0000000000000000000000000000000000";
            
          //********************************** Começo Parte Da Frente Boleto
            TipoX[Ind1]="01 "+Util.Space(0)+CodCif;
            LinhaA01[Ind1]=Util.Space(0)+conexao.resultset.getString("Nome");
            LinhaA02[Ind1]=Util.Space(0);
            LinhaA03[Ind1]=Util.Space(0);
            LinhaA04[Ind1]=Util.Space(0);
            LinhaA05[Ind1]=Util.Space(0);
            LinhaA06[Ind1]=Util.Space(0);
            LinhaA07[Ind1]=Util.Space(0);
            LinhaA08[Ind1]=Util.Space(0);
            LinhaA09[Ind1]=Util.Space(0);
            LinhaA10[Ind1]=Util.Space(0);
            LinhaA11[Ind1]=Util.Space(0);
            LinhaA12[Ind1]=Util.Space(0);
            LinhaA13[Ind1]=Util.Space(0)+conexao.resultset.getString("Nome");
            LinhaA14[Ind1]=Util.Space(0)+conexao.resultset.getString("Endereco");
            LinhaA15[Ind1]=Util.Space(0)+conexao.resultset.getString("Cep").toString()+" - "+conexao.resultset.getString("Cidade").toString().trim()+" - "+conexao.resultset.getString("Estado");
          //********************************** Final Parte Da Frente Boleto

          //********************************** Começo Verso Do Boleto Endereçamento
            LinhaB01[Ind1]=Util.Space(0)+conexao.resultset.getString("Cep");
            LinhaB02[Ind1]=Util.Space(0)+conexao.resultset.getString("Nome");
            LinhaB03[Ind1]=Util.Space(0)+conexao.resultset.getString("Endereco");
            LinhaB04[Ind1]=Util.Space(0)+conexao.resultset.getString("Cidade").toString().trim()+" - "+conexao.resultset.getString("Estado");
            LinhaB05[Ind1]=conexao.resultset.getString("Cep");
            LinhaB06[Ind1]=Util.Space(1)+sequencia+Util.Space(1)+"Arq:"+Util.Space(1)+texto2.getText()+".001";
            LinhaB07[Ind1]=CodCif;
            LinhaB08[Ind1]=""; 
          //********************************** Final Verso Do Boleto Endereçamento

//********************* Começo Ponteiro
if (Ind1 == 2) {
  Imprime = true;       
  Ind1 = 0 ;
}else{
 Imprime = false;       
}
Ind1++;
//********************* Final Ponteiro

       //********************* Começo Imprime
         if (Imprime == true) {
          Fwrite.println("+$DJDE$ FORMS=Formulario01_A3,FEED=BAN3,END;");
           for (int Ind1 = 1; Ind1 < 3; Ind1++) {
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA01[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA02[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA03[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA04[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA05[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA06[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA07[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA08[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA09[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA10[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA11[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA12[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA13[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA14[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaA15[Ind1]);
           }  
        
          Fwrite.println("+$DJDE$ FORMS=Formulario02_A3,FEED=BAN3,END;");
           for (int Ind1 = 1; Ind1 < 3; Ind1++) {
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB01[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB02[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB03[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB04[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB05[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB06[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB07[Ind1]);
            Fwrite.println(TipoX[Ind1]+Util.Space(1)+LinhaB08[Ind1]);
           } 
         
         }
       //********************* Final Imprime
     
           } // Fim do While
            } catch (SQLException ex) {
             Logger.getLogger(Boleto.class.getName()).log(Level.SEVERE, null, ex);
            } // Fim Try catch
        
         try {
           // Fecha fluxos...   
           Fwrite.println("%%EOF");
           conexao.resultset.close();
           conexao.statement.close();
           conexao.disconnect();
           Fwrite.close();     
           writer.close();     
          // Trata possíveis exceções!
         } catch (SQLException ex) {
          Logger.getLogger(Boleto.class.getName()).log(Level.SEVERE, null, ex);
         } catch (IOException ex) {
          Logger.getLogger(Boleto.class.getName()).log(Level.SEVERE, null, ex);
         }
        // Final Cria Aquivo em Spool de impressão ou Asa **********************
      }
      });

Agradeço Sua Atenção