Possuo uma interface simples composta por uma JTextField e um JButton.
Gostaria de fazer com que minha aplicação fosse pausada até que o usuário insira alguma informação no TextField e clique no bottão.
Por exemplo minha classe possui um atributo message com o texto recebido da TextField após ser clicado no botão, sempre que fosse solicitado ao usuário de digitar algo esse atributo fosse apagado e seja solicitado outro, seria algo assim:
public static String getMessage() {
message = null;
while(message == null) {
//Fazer a aplicação esperar até que o novo texto seja inserido no TextField e o usuário clicar no botão
}
return message;
}
É isso, espero ter conseguido ser claro, ainda sou um pouco novo com Java…
Obrigado
uma opçao seria verificar se voce realmente precisa pausar a aplicação ou se utilizar algum tipo de evento seria a melhor alternativa.
no seu caso acho que o ideal seria colocar um action event no botao e disparar a sua logica daí.
se realmente precisar pausar a aplicacao… utilize a combinação wait() e notify().
/* Codifique a classe em Java que
* contenha um metodo chamado bagunssaNaString() que
* deverá ler uma string não nula e não vazia via JOP;
* escrever a string original e o tamanho da string;
* mostrar o primeiro caracter e o segundo caracter da string;
* Deverá retornar a string lida modificada com o primeiro caracter trocado
* com o segundo caracter para o método main() que deverá escreve-la.
* Exemplo:
* string digitada: chicorea
* string retornada: hcicorea
*/
import javax.swing.*;
class Metodo7
{
public static String bagunssaNaString()
{
String s="", s_aux="";
do
{
s = JOptionPane.showInputDialog( null, "Digite um literal: " ,
"Leitura do Literal" , JOptionPane.QUESTION_MESSAGE );
} while ( s == null || s.equals("")); // nao poderá cancelar
JOptionPane.showMessageDialog( null, "String original: " + s + "\nTamanho da string: "
+ s.length() , "Resultado" , JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showMessageDialog( null, "Primeiro caracter: " + s.charAt(0) + "\nSegundo caracter: "
+ s.charAt(1),"Resultado" , JOptionPane.INFORMATION_MESSAGE);
s_aux = s_aux + s.charAt(1) + s.charAt(0) + s.substring(2,s.length()) ;
return s_aux; // retorna a string lida para o metodo que chamou
}
public static void main(String args[])
{
String s;
s = bagunssaNaString();
JOptionPane.showMessageDialog( null, "String lida: " + s , "Resultado" ,
JOptionPane.INFORMATION_MESSAGE);
}
}