Olá pessoal,
Gostaria de saber como posso fazer um JFrame que retorne um valor?
Minha idéia é fazer algo como o JOptionFrame.showInputDialog() que retorna a String digitada ao se fechar a janela. No meu caso, quero fazer uma janelinha com apenas uma tabela e um botao (ou dois) que, ao ser fechada retorne um String[][] com os valores digitados na tabela.
Será que alguém de dá alguma luz?
JFrame feita por mim retornando um valor
8 Respostas
Eu acho que você poderia tentar capturar o Evento de fechamento de Janela da JFrame,
http://java.sun.com/j2se/1.5/docs/api/java/awt/event/WindowEvent.html
Mais especificamente o evento WINDOW_CLOSING
Aí acredito que você poderá pegar os dados de algum componente da JFrame e usar como retorno antes de fechar a janela de verdade.
Ta aí uma idéia, sou novato no Java mas eu tentaria por aí… fica com você verificar e desenvolver, tô longe do meu Eclipse pra testar aqui, mas pra mim tudo indica que o caminho é esse… 
Como eu tb to aprendendo, cheguei em casa e quis testar pra ver se funciona mesmo minha idéia… E funciona! 
No próprio construtor do Jframe, coloquei isso:
expMatemática é um JTextField que tenho na minha aplicação…
this.addWindowListener(new WindowListener() {
public void windowClosing(WindowEvent e) {
System.out.println("Exp:"+expMatemática.getText());
}
public void windowClosed(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowGainedFocus(WindowEvent e) {
}
public void windowLostFocus(WindowEvent e) {
}
public void windowStateChanged(WindowEvent e) {
}
}
);
Quando fecho a JFrame, A expressão digitada na JTextField é impressa no console.
Espero ter ajudado… Acho que adaptar agora pra aquilo q vc realmente precisa deve ser fácil…
[]'s
Cristian
Olá Cristian, tudo bem?
Você já deve ter usado o método showInputDialog da classe JOptionPane dessa forma:
Pois quero fazer algo parecido com isso, algo do tipo
Isso vai facilitar a programação de maneira ímpar.
Dá uma lida nesse artigo aqui:
ACHO que talvez possa te ajudar em algo…
http://www.guj.com.br/java.tutorial.artigo.47.1.guj
Mantu, tudo bem com você?
Eu dei uma olhada rápida no tutorial e acho que não irá me ajudar, mas vou olhar com mais calma daqui a pouco porque estou um muito ocupado agora.
Mas agradeço muito pela sua atenção!!!
[quote=brothermclaud]Olá Cristian, tudo bem?
Você já deve ter usado o método showInputDialog da classe JOptionPane dessa forma:
Na verdade, nunca usei. Como falei, sou bem iniciante no java também… 
Mas acabei de aprender a usar agora. Obrigaod hehehe 
Pois quero fazer algo parecido com isso, algo do tipoIsso vai facilitar a programação de maneira ímpar.
Agora entendi melhor, não tinha me atido à questao de retornar o valor assim. Mas acho que minha sugestão continua válida, O que você terá que fazer é implementar uma classe MinhaClasse com um método static que cria a JFrame, aguarda a saída e retorna o resultado… Desafio interessante pra mim tb, vou ver se consigo implementar… 
[]'s
Cristian
Bom, já que você aprendeu a usar o showImpotDialog (que é de extrema utilidade para projetos com muitas janelas) com a minha pergunta, bem que você poderia colocar umas estrelinhas pra mim, não é?
:lol:
Já decidi como fazer a essa classe. Fica acompanhando o tópico que assim que eu fizer (o que não pode ser agora porque estou bem ocupado) posto aqui pra galera ver. Mas se você conseguir antes, posta ai pra galera também!!!
Não tenho tempo agora tb, mas olha isso aí q li, acho q ajuda bastante…
http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html