Ola comunidade…
Galera tenho um objeto Pai que ao iniciar ele pede usuario e quando clicamos em Ok ele abre um outro filho e la onde quero chamar o Usuario nao estou conseguindo quando é aberto o Filho ao clicar em Ok ele deveria mostrar o Usuario que esta em Pai mas nao consigo fazer isto, segue abaixo::
[color=blue]
//Classe Pai.java
import java.awt.;
import javax.swing.;
import java.awt.event.*;
public class Pai extends JFrame implements ActionListener{
public JTextField txtusuario;
public String usuario;
public JButton btn;
private Container cont;
private JPanel painel;
public Pai(){
super("Teste");
BorderLayout layout = new BorderLayout();
cont = getContentPane();
cont.setLayout(layout);
painel = new JPanel(new FlowLayout(FlowLayout.LEFT));
txtusuario = new JTextField(20);
painel.add(txtusuario);
JButton btn = new JButton("OK");
painel.add(btn);
btn.addActionListener(this);
cont.add(painel);
setLocationRelativeTo(null);
setResizable(false);
setSize(300,70);
setVisible(true);
}
public static void main(String args[]) {
new Pai();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "OK") PegarValor();
}
public void PegarValor() {
Filho filho = new Filho();
}
[/color][color=green]//nao sei se é este o jeito de fazer._____[/color][color=blue]
public void getUsuario(){ //retorna o usuario
usuario = txtusuario.getText();
}
} //fim [/color]
[color=red]__________________________________________________[/color]
[color=green]// Classe Filho
import java.awt.;
import javax.swing.;
import java.awt.event.*;
public class Filho extends JFrame implements ActionListener {
private JButton botao;
Pai pai;
private Container cont;
private JPanel painel;
public Filho(){
cont = getContentPane();
BorderLayout layout = (new BorderLayout());
cont.setLayout(layout);
painel = new JPanel(new FlowLayout(FlowLayout.LEFT));
botao = new JButton("Pegar Usuario do Pai");
botao.addActionListener(this);
painel.add(botao);
cont.add(painel);
setSize(300,300);
setResizable(false);
setVisible(true);
setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e){
if (e.getSource() == botao) Retornar();
}
[/color][color=blue]//____acho que o problema esta aqui___________[/color][color=green]
public void Retornar() { //pega Usuario do Pai, mas nao estou conseguindo fazer isto
pai.PegarValor();
JOptionPane.showMessageDialog(null, pai.usuario);
}
}//fim [/color]
[color=red]_____________________________________________[/color]
pensei em fazer uma classe abstrata, mas nao sei qual é o modo mais correto, se alguem puder me ajudar eu agradeço.
obrigado
Adriano