{/resolvido]passar conteúdo de um JFrame para outra JFrame

3 respostas
C_Lucas

Bom tarde. Bom eu seu que ja tem diversos topicos sobre isso orém ainda não consegui fazer esse procedimento, estou tentando passar
as informações via contrutor porém não consegui. Meu aplicativo é um carrinho de compra com JCheckBox com nome dos produtos, uma JTextField com para o usuário digitar a quantidade, uma JTextField com o preço do protduto e uma ultima JTextField para demontrar o total. Quando o usuário clica na JCheckBox seto a caia com Editable(true) para poder digitar a quantidade, tenho um botão nesta janela que chama uma outra JFrame para que eu possa imprimir como se fosse um ticket do que o usuário comprou. Então a pergunta é a seguinte: como passar só as informações que estão selecionadas com JCheckBox?
Este é o código da janela.

hab_salg1 = new JCheckBox("Bolinho de queijo"); //habilitar compra de bolinho de queijo
        hab_salg2 = new JCheckBox("Coxinha"); //habilitar compra de coxinha
        hab_salg3 = new JCheckBox("Croissant"); //habilitar compra de Croissant
        hab_salg4 = new JCheckBox("Esfiha"); //habilitar compra de Esfiha
        hab_salg5 = new JCheckBox("Hamburguer"); //habilitar compra de Hamburguer
        hab_salg6 = new JCheckBox("Kibe"); //habilitar compra de Kiba
        hab_salg7 = new JCheckBox("Misto quente"); //habilitar compra de Misto quente
        hab_salg8 = new JCheckBox("Pão de queijo"); //habilitar compra de Pão de queijo
        hab_salg9 = new JCheckBox("X-salada"); //habilitar compra de X-salada
        hab_salg1.setBounds(10,33,130,20);
        hab_salg2.setBounds(10,123,100,20);
        hab_salg3.setBounds(10,233,100,20);
        hab_salg4.setBounds(10,322,100,20);
        hab_salg5.setBounds(10,423,100,20);
        hab_salg6.setBounds(530,33,100,20);
        hab_salg7.setBounds(530,123,100,20);
        hab_salg8.setBounds(530,233,120,20);
        hab_salg9.setBounds(530,319,100,20);

t_salg1 = new JTextField();//TODAS AS CAIXAS DE TEXTO QUE COMEÇAREM COM "t" SÃO DE QUANTIDADE DO PRODUTO
        t_salg2 = new JTextField();
        t_salg3 = new JTextField();
        t_salg4 = new JTextField();
        t_salg5 = new JTextField();
        t_salg6 = new JTextField();
        t_salg7 = new JTextField();
        t_salg8 = new JTextField();
        t_salg9 = new JTextField();
        v_salg1 = new JTextField();//TODAS AS CAIXAS DE TEXTO QUE COMEÇAREM COM "v" SÃO Do PREÇO DO PRODUTO
        v_salg2 = new JTextField();
        v_salg3 = new JTextField();
        v_salg4 = new JTextField();
        v_salg5 = new JTextField();
        v_salg6 = new JTextField();
        v_salg7 = new JTextField();
        v_salg8 = new JTextField();
        v_salg9 = new JTextField();
        r_salg1 = new JTextField();r_salg1.setText("0.00"); //caixa para mostrar o valor da compra
        r_salg2 = new JTextField();r_salg2.setText("0.00");
        r_salg3 = new JTextField();r_salg3.setText("0.00");
        r_salg4 = new JTextField();r_salg4.setText("0.00");
        r_salg5 = new JTextField();r_salg5.setText("0.00");
        r_salg6 = new JTextField();r_salg6.setText("0.00");
        r_salg7 = new JTextField();r_salg7.setText("0.00");
        r_salg8 = new JTextField();r_salg8.setText("0.00");
        r_salg9 = new JTextField();r_salg9.setText("0.00");
        r_comprar1 = new JTextField(); //caixa de texto que mostrará o resultado da compra
        t_salg1.setBounds(140,76,48,21);
        t_salg2.setBounds(140,180,48,21);
        t_salg3.setBounds(140,270,48,21);
        t_salg4.setBounds(140,370,48,21);
        t_salg5.setBounds(140,470,48,21);
        t_salg6.setBounds(642,76,48,21);
        t_salg7.setBounds(642,180,48,21);
        t_salg8.setBounds(642,270,48,21);
        t_salg9.setBounds(642,370,48,21);
        v_salg1.setBounds(211,77,48,21);
        v_salg2.setBounds(211,181,48,21);
        v_salg3.setBounds(211,271,48,21);
        v_salg4.setBounds(211,371,48,21);
        v_salg5.setBounds(211,471,48,21);
        v_salg6.setBounds(713,77,48,21);
        v_salg7.setBounds(713,181,48,21);
        v_salg8.setBounds(713,271,48,21);
        v_salg9.setBounds(713,371,48,21);
        r_salg1.setBounds(425,77,48,22);
        r_salg2.setBounds(425,181,48,22);
        r_salg3.setBounds(425,271,48,22);
        r_salg4.setBounds(425,371,48,22);
        r_salg5.setBounds(425,470,48,22);
        r_salg6.setBounds(922,77,48,22);
        r_salg7.setBounds(922,181,48,22);
        r_salg8.setBounds(922,271,48,22);
        r_salg9.setBounds(922,371,48,22);
        r_comprar1.setBounds(734,445,94,25);
s_apagar1 = new JButton("Cancelar");// botões para apagar as caixas  de texto r_sagl
s_apagar2 = new JButton("Cancelar");
s_apagar3 = new JButton("Cancelar");
s_apagar4 = new JButton("Cancelar");
s_apagar5 = new JButton("Cancelar");
s_apagar6 = new JButton("Cancelar");
s_apagar7 = new JButton("Cancelar");
s_apagar8 = new JButton("Cancelar");
s_apagar9 = new JButton("Cancelar");
sbok = new JButton("OK");
sbok2 = new JButton("OK");
sbok3 = new JButton("OK");
sbok4 = new JButton("OK");
sbok5 = new JButton("OK");
sbok6 = new JButton("OK");
sbok7 = new JButton("OK");
sbok8 = new JButton("OK");
sbok9 = new JButton("OK");
s_apagar1.setBounds(280,91,109,22);
s_apagar2.setBounds(280,195,109,22);
s_apagar3.setBounds(280,285,109,22);
s_apagar4.setBounds(280,385,109,22);
s_apagar5.setBounds(280,485,109,22);
s_apagar6.setBounds(777,91,109,22);
s_apagar7.setBounds(777,195,109,22);
s_apagar8.setBounds(777,285,109,22);
s_apagar9.setBounds(777,385,109,22);
sbok.setBounds(280,63,109,22);// botoes que calculam o preço do produto, multiplicando a quantidade digitada ma caixa pelo preço que tbm está fixo na caixa
sbok2.setBounds(280,167,109,22);
sbok3.setBounds(280,257,109,22);
sbok4.setBounds(280,357,109,22);
sbok5.setBounds(280,457,109,22);
sbok6.setBounds(777,63,109,22);
sbok7.setBounds(777,167,109,22);
sbok8.setBounds(777,257,109,22);
sbok9.setBounds(777,357,109,22);

Este é o codigo do botão que chama outra janela.

//Crie uma classe nova
Inicial7 janela_final;
ação do botão
b_impressao1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){

     
        janela_final = new Inicial7();
       janela_final.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
janela_final.setVisible(true);
    }
});
nova classe
private Inicial7(){
        setTitle("Finalize a sua compra");
        Container janela4 = getContentPane();
        janela4.setLayout(null);



b_print = new JButton("Imprimir Ticket");
b_print.setBounds(79,200,150,31);
b_print.setFont(new Font("Calibri",Font.PLAIN,13));
b_print.setForeground(new Color(40,80,40));
b_print.setBorder(new javax.swing.border.LineBorder(new Color(40,80,40),1 ,true));

recebe1 = new JTextField();
recebe1.setBounds(100,50,45,21);
recebe1.setEditable(false);


b_print.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){

    }
});

Peço encarecidamente que me ajudem, isso é para o meu tc e ja não sei mais o que fazer. Desde de ja agradeço

3 Respostas

Vmaia

Olá,

“Seja lá o que vc estiver tentando fazer” na janela nova , ou na antiga, é só vc passar a referencia da janela que abriu a outra, ou seja o this. :slight_smile:

Dessa forma vc terá acesso a janela antiga pela Nova e poderá brincar da forma que quiser :smiley:

Poderá passar a referencia já no construtor ou no método ai fica a teu critério.

:stuck_out_tongue:

C_Lucas

Eu quero passar uma informação de uma janela para outra. POderia me dar um exemplo por favor.

Vmaia

Vamos supor que ao selecionar uma checkbox Y vc abre uma nova janela com um layout e o chebox X abre ooutro layout, ao clicar no botão vc chama uma função que monta uma url (ou um form) passando parametros para que quando o o metodo que cria a jsp trabalhe de forma diferente.

function montarForm_OU_Link(){

 var checkeY = document.getElementById("checkY");


 if(checkeY.checked()){
    monta com os parametros Y ....
 }else{
   monta com os parametros X ...
 }

 link_form.submit_ou_link();
}

Algo assim :P

Criado 25 de junho de 2010
Ultima resposta 25 de jun. de 2010
Respostas 3
Participantes 2