Galera alguem poderia me ajudar.
Preciso fazer com que meu programa espere o usuario preencher um formulario e so continuar a execução se for pressionado um botao.
Ja tentei com if e com while.
Desde ja agradeço
Você está tentando fazer com Java Swing?
Sim. Pegando arquivos de um JTextField.
Quero esperar o usuario digitar o valor da variavel, quando digitar apertar o botão e aí sim a variável receber valor.
Implementa o padrão de projeto Observer, também chamado de Listener.
Boa noite @Marcos_Aurelio_M , como disse o @staroski, use um listener na ação do botão , mas como disse “pegar arquivos de um JTextField”, se o objetivo é abrir um ficheiro, o melhor é utilizar um JFileChooser invés do JTextField.
Em ambos os casos é só adaptar o código abaixo para o que lhe der mais jeito.
final JFileChooser fc = new JFileChooser();
JButton button = new JButton("Adicionar Ficheiro");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e){
// Ação do botão -> abra o dialogo para escolha do ficheiro
int returnVal = fc.showOpenDialog(ONomeDaClass.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
// Aqui pode abrir o ficheiro
System.out.println("Ficheiro: " + file.getName());
} else {
System.err.println("O utilizador fechou a janela de dialogo sem escolher um ficheiro!");
}
}
}
Caso queira o valor do campo de texto, use o método getText();
String valor = jTextField.getText();
Caso queira só mostrar um botão continuar, após o utilizador ter preenchido o campo de texto, pode usar o exemplo abaixo.
String valor;
JTextField textField = new JTextField();
JButton continueButton = new JButton("Continuar");
continueButton.setEnabled(false);
textField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
JTextField textField = (JTextField) e.getSource();
// Só habilita o botão caso tenha texto
if(textField.getText().trim().length() > 0){
// Assina o valor do campo à variável
valor = tectField.getText();
// Mostra o botão continuar
continueButton.setEnabled(true);
}
}
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {}
});