Capturar conteúdo de campo de uma Dialog

6 respostas
Roger75

Bom dia pessoal,

Eu tenho um Frame f que chama uma Dialog d através de um botão b.
A Dialog d tem um campo tf e um botão bd.
Eu queria que ao apertar o botão bd ele mostrasse o conteúdo do campo tf, mas não estou conseguindo.

O que será que está errado?

Segue o código:

import java.awt.<em>;

import javax.swing.</em>;

import java.awt.event.<em>;

import java.util.</em>;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.Color.<em>;

//import javax.swing.</em>;

import javax.swing.table.DefaultTableModel;

import javax.swing.event.TableModelListener;

import javax.swing.event.TableModelEvent;
public class TestDialog{

private Frame f;

private Button b, bd;

private Dialog d;

private TextField tf;

private Label l;

public TestDialog(){

f=new Frame(Teste Dialog);

b=new Button (Clique aqui);

f.add(b);

f.setVisible(true);

f.pack();

b.addMouseListener(new MouseAdapter(){

public void mouseClicked(MouseEvent e){

d=new Dialog(f,Dialog,true);

d.setLayout(new GridLayout(3,1));

tf=new TextField("");

l=new Label(Escreva algo no campo acima);

bd=new Button(OK);

d.add(tf);

d.add(l);

d.add(bd);
d.pack();
			d.setVisible(true);
			bd.addMouseListener(new MouseAdapter(){
				public void mouseClicked(MouseEvent ee){
					//System.out.println(tf.getText());
					System.out.println("Teste");

				}
			});
			d.addWindowListener(new WindowAdapter() {
        			public void windowClosing(WindowEvent e){
        			
					d.setVisible(false);
			
        			}
     			}); 

			//bd.addActionListener(

      	}
		});

	
}
public static void main(String args[]){
	TestDialog td=new TestDialog();
}

}

6 Respostas

keller

adicione um ActionListener ao botao… ai quando clicado voce faz algo do tipo…

&#123;
String x = seuTextField.getText&#40;&#41;;
JOptionPane.showMessageDialog&#40;null,x&#41;;
&#125;

entendido ?
espero ter ajudado… t+

:arrow: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/ActionListener.html

keller

http://javaalmanac.com/egs/java.awt.event/ActionEvents.html

exemplinho…

Roger75

Olá,

Criei a classe MyActionListener mas ainda não aparece a saída “Teste” quando clico no botão da Dialog.

Veja o código:

import java.awt.<em>;

import javax.swing.</em>;

import java.awt.event.<em>;

import java.util.</em>;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.Color.<em>;

//import javax.swing.</em>;

import javax.swing.table.DefaultTableModel;

import javax.swing.event.TableModelListener;

import javax.swing.event.TableModelEvent;

import javax.swing.JOptionPane;

public class TestDialog{

private Frame f;

private Button b, bd;

private Dialog d;

private TextField tf;

private Label l;

public TestDialog(){

f=new Frame(Teste Dialog);

b=new Button (Clique aqui);

f.add(b);

f.setVisible(true);

f.pack();

b.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
	      	d=new Dialog(f,"Dialog",true);
			d.setLayout(new GridLayout(3,1));
			tf=new TextField("");
			l=new Label("Escreva algo no campo acima");
			bd=new Button("OK");
			d.add(tf);
			d.add(l);
			d.add(bd);

			d.pack();
			d.setVisible(true);
							bd.addActionListener(new MyActionListener());
			

			
			


			d.addWindowListener(new WindowAdapter() {
        			public void windowClosing(WindowEvent e){
        			
					d.setVisible(false);
			
        			}
     			}); 

			//bd.addActionListener(

      	}
		});
	
	
}
public static void main(String args[]){
	TestDialog td=new TestDialog();
}

}

//*********************************

import java.awt.event.<em>;

import java.util.</em>;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class MyActionListener implements ActionListener

{ public void actionPerformed(ActionEvent evt)

{

System.out.println(Teste);

}

}
keller
bd.addActionListener&#40; new ActionListener&#40;&#41;
                               &#123;
                                  public
                                  void actionPerformed&#40;ActionEvent ev&#41;
                                  &#123;
                                   JOptionPane.showMessageDialog&#40;null,tf.getText&#40;&#41;&#41;;
                                  &#125;
                                &#125;
                         &#41;;

importe as lib’s necessarias e apos iniciar o botao adicione este ActionListener…

espero que vc entenda…

valeu? fui! :smiley:

Roger75

Agora deu certo.
O problema é que eu tinha colocado o comando de ação depois do botão ter sido inserido no dialog, que distração…

Valeu camaradinha!

keller

opa de nada :smiley: tamo ae pra isso mesmo… espero que você tenha entendido… :smiley:

valeu? fui!

Criado 5 de outubro de 2004
Ultima resposta 6 de out. de 2004
Respostas 6
Participantes 2