/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresario11;/** * * @author Administrador */publicclasspassa_valor{privateStringv1;privateStringv2;publicpassa_valor(){this.v1="";this.v2="";}publicpassa_valor(Stringv1,Stringv2){super();this.v1=v1;this.v2=v2;}publicStringgetv2(){returnv2;}publicvoidsetv2(Stringv2){this.v2=v2;}publicStringgetv1(){returnv1;}publicvoidsetv1(Stringv1){this.v1=v1;}}
Na tela eu passo o valor assim: na tela 1!!
import empresario11.passa_valor.*;
passa_valor p = new passa_valor();
p.setv1("xxxxxx");
Agora eu faria para que na tela 2.. eu pudesse recuperar o valor ?
Não entendi o porque do super() no construtor, sua classe não tem superclasse.
Pelo que eu entendi você quer acessar os atributos de p em outra classe diferente da que ele foi criado, você pode usar atributos static ou o padrão de projeto Singleton.
dreampeppers99
Tem sim… todas as classes (Exceto Object) tem uma superclasse.
marciofermino
Amigos quase entendi. vou colocar meu codigo se algue puder ajudar. agradeco
TELA 1
packageempresario11;importempresario11.JMoneyField.*;importempresario11.passa_valor.*;publicclasstela1extendsjavax.swing.JFrame{passa_valorp=newpassa_valor();/** Creates new form tela1 */publictela1(){initComponents();setBounds(250,180,505,500);}// <editor-fold defaultstate="collapsed" desc="Generated Code">privatevoidinitComponents(){jButton1=newjavax.swing.JButton();jButton3=newjavax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);getContentPane().setLayout(null);jButton1.setText("set");jButton1.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){jButton1ActionPerformed(evt);}});getContentPane().add(jButton1);jButton1.setBounds(51,207,78,23);jButton3.setText("IR TELA 2");jButton3.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){jButton3ActionPerformed(evt);}});getContentPane().add(jButton3);jButton3.setBounds(249,207,108,23);pack();}// </editor-fold>privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){p.setv1("novo valor");}privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){newtela2().setVisible(true);}publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newtela1().setVisible(true);}});}// Variables declaration - do not modifyprivatejavax.swing.JButtonjButton1;privatejavax.swing.JButtonjButton3;// End of variables declaration}
TELA 2
packageempresario11;importempresario11.passa_valor.*;publicclasstela2extendsjavax.swing.JFrame{publictela2(){initComponents();}// <editor-fold defaultstate="collapsed" desc="Generated Code"> privatevoidinitComponents(){jTextField1=newjavax.swing.JTextField();jButton1=newjavax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jTextField1.setText("jTextField1");jButton1.setText("jButton1");jButton1.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){jButton1ActionPerformed(evt);}});javax.swing.GroupLayoutlayout=newjavax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(69,69,69).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(layout.createSequentialGroup().addGap(158,158,158).addComponent(jButton1))).addContainerGap(169,Short.MAX_VALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(32,32,32).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addGap(56,56,56).addComponent(jButton1).addContainerGap(169,Short.MAX_VALUE)));pack();}// </editor-fold> privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){/////////// quero pegar o valor aqui !!!! }publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newtela2().setVisible(true);}});}// Variables declaration - do not modify privatejavax.swing.JButtonjButton1;privatejavax.swing.JTextFieldjTextField1;// End of variables declaration }
OBRIGADO…
dreampeppers99
Não sei se entendi sua dúvida, mas sempre que desejo trocar dados entre uma janela é outra faço ± assim:
[ janela 1 ||=|x| ]
valor [3] […]|
________________|
A Classe tela2 (não Tela2) existe?
Pra essa classe existe um construtor que recebe uma string como parâmetro?
dreampeppers99
Note que :
public Janela2(String valor){
valoroutrajanela = valor;
this.txt2.setText(valoroutrajanela); //inicializando-o
}
feltraco
aconselho vc usar o patern Singleton
assim sempre que vc sai de uma tela vc seta os valores no Singleton
e na outra tela vc acessa tranquilamente…
Espero ter ajudado
EugenioMonteiro
Continuo achando que é melhor usar Singleton é simples e certo que vai funcionar.
marciofermino
TA ENTAO COMO EU USO Singleton?
EugenioMonteiro
viewplaincopytoclipboardprint?/* * To change this template, choose Tools | Templates * and open the template in the editor. */packageempresario11;/** * * @author Administrador */publicclasspassa_valor{privateStringv1;privateStringv2;privatestaticpassa_valorp_s=null;privatepassa_valor(){this.v1="";this.v2="";}privatepassa_valor(Stringv1,Stringv2){super();this.v1=v1;this.v2=v2;}publicpassa_vlaorgetInstance(){if(p_s==null)p_s=newpassa_valor();elsereturnp_s;}publicStringgetv2(){returnv2;}publicvoidsetv2(Stringv2){this.v2=v2;}publicStringgetv1(){returnv1;}publicvoidsetv1(Stringv1){this.v1=v1;}}
Aí na hora de criar um objeto voce fará assim:
meuPassValor=passa_valor.getInstance();
Assim quando você fizer isso na outra janela virá o mesmo objeto, com os mesmos atributos e não um novo objeto