Como eu faço pra guardar e acessar o conteudo digitado dentro de um JTextField sem que esse acesso seja feito pela classe em que o JTextField foi criado?Segue o código e o erro que dá
[code]
public class Cadastro extends javax.swing.JFrame {
MyAction acao;
public Cadastro() {
initComponents();
acao = new MyAction();
jButton1 = new javax.swing.JButton(acao);
getContentPane().add(jButton1);
jButton1.setBounds(60, 150, 90, 20);
}
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
t_nome = new javax.swing.JTextField();
getContentPane().setLayout(null);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jLabel1.setText("Nome:");
getContentPane().add(jLabel1);
jLabel1.setBounds(20, 100, 41, 16);
getContentPane().add(t_nome);
t_nome.setBounds(60, 100, 250, 20);
pack();
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setSize(new java.awt.Dimension(400, 300));
setLocation((screenSize.width-400)/2,(screenSize.height-300)/2);
}
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
new Cadastro().show();
}
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
public javax.swing.JTextField t_nome;
}[/code]
Classe que gera a ação do botão
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class MyAction extends AbstractAction {
Bean b = new Bean();
Cadastro t = new Cadastro();
public MyAction() {
putValue(SHORT_DESCRIPTION, "Teste");
}
public void actionPerformed(ActionEvent e) {
b.setNome(t.t_nome.getText()); // aqui eu tento gravar o dado digitado no Bean
System.out.println(b.getNome()); // aqui eu tento ver o dado foi gaurdado dentro do Bean
}
}
public class Bean {
String nome;
/**
* Returns the nome.
* @return String
*/
public String getNome() {
return nome;
}
/**
* Sets the nome.
* @param nome The nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
}[/code]
esse é o erro que gera
[code]java.lang.StackOverflowError
at sun.awt.windows.WComponentPeer.getToolkit(WComponentPeer.java:398)
at java.awt.Component.getToolkitImpl(Component.java:820)
at java.awt.Component.getToolkitImpl(Component.java:824)
at java.awt.Component.getToolkitImpl(Component.java:824)
at java.awt.Component.getToolkitImpl(Component.java:824)
at java.awt.Component.getToolkitImpl(Component.java:824)
at java.awt.Component.getToolkit(Component.java:810)
at java.awt.Component.addNotify(Component.java:5360)
at java.awt.Container.addNotify(Container.java:1997)
at javax.swing.JComponent.addNotify(JComponent.java:4270)
at java.awt.Container.addNotify(Container.java:2004)
at javax.swing.JComponent.addNotify(JComponent.java:4270)
at java.awt.Container.addNotify(Container.java:2004)
at javax.swing.JComponent.addNotify(JComponent.java:4270)
at java.awt.Container.addNotify(Container.java:2004)
at javax.swing.JComponent.addNotify(JComponent.java:4270)
at javax.swing.JRootPane.addNotify(JRootPane.java:658)
at java.awt.Container.addNotify(Container.java:2004)
at java.awt.Window.addNotify(Window.java:410)
at java.awt.Frame.addNotify(Frame.java:479)
at java.awt.Window.pack(Window.java:428)
at Cadastro.initComponents(Cadastro.java:46)
at Cadastro.<init>(Cadastro.java:15)
at MyAction.<init>(MyAction.java:18)
at Cadastro.<init>(Cadastro.java:16)
Agradeço qualquer ajuda
