olá pessoal, estou tentando passar um valor de um JFrame pra um JDialog e não consigo, desde já agradeço quem puder me ajudar.
Segue os códigos abaixo…
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.text.DecimalFormat;
public class CalcularINSS extends JFrame implements ActionListener
{
private Container cont;
private GridBagLayout layout;
private GridBagConstraints constraints;
JTextField quantCaixas = new JTextField("",8);
JTextField precoCaixa = new JTextField("",8);
JTextField valorNota = new JTextField("",8);
public JTextField valorINSS = new JTextField("",8);
JButton calcular = new JButton("Calcular");
JButton limpar = new JButton("Limpar");
JButton infAdicionais = new JButton("Informações Adicionais");
int infVerif = 0;
public String valINSS = "";
public CalcularINSS()
{
valorNota.setEditable(false);
valorINSS.setEditable(false);
calcular.addActionListener(this);
limpar.addActionListener(this);
infAdicionais.addActionListener(this);
cont = getContentPane();
cont.setLayout(new GridBagLayout());
constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.CENTER;
constraints.insets = new Insets(4,4,4,4);
adicionaComponente(new JLabel("Quant.cxs:"),0,0,1,1);
adicionaComponente(quantCaixas,1,0,1,1);
adicionaComponente(new JLabel("Valor unit:"),0,1,1,1);
adicionaComponente(precoCaixa,1,1,1,1);
adicionaComponente(new JLabel("Valor nota:"),0,2,1,1);
adicionaComponente(valorNota,1,2,1,1);
adicionaComponente(new JLabel("Valor INSS:"),0,3,1,1);
adicionaComponente(valorINSS,1,3,1,1);
adicionaComponente(calcular,0,4,1,1);
adicionaComponente(limpar,1,4,1,1);
adicionaComponente(infAdicionais,0,5,2,1);
}
public String getINSS()
{
valINSS = valorINSS.getText();
return valINSS;
}
public void adicionaComponente(Component componente, int gx, int gy, int gw, int gh)
{
constraints.gridx = gx;
constraints.gridy = gy;
constraints.gridheight = gh;
if(gw==0)
{
constraints.gridwidth = GridBagConstraints.REMAINDER;
}else{
constraints.gridwidth = gw;
}
cont.add(componente,constraints);
}
public void actionPerformed(ActionEvent ev)
{
if(ev.getSource()==calcular)
{
try{
Double valorNotaDouble = Double.parseDouble(quantCaixas.getText())*Double.parseDouble(precoCaixa.getText()));
DecimalFormat formatoDecimal = new DecimalFormat("##,###.00");//Formata o número para duas casas decimais
Double valorINSSDouble = valorNotaDouble*0.023;
precoCaixa.setEditable(false);
Double precoCaixaDouble = Double.parseDouble(precoCaixa.getText());
precoCaixa.setText("R$ "+formatoDecimal.format(precoCaixaDouble));
valorNota.setText("R$ "+formatoDecimal.format(valorNotaDouble));
valorINSS.setText("R$ "+formatoDecimal.format(valorINSSDouble));
infVerif = 1;
calcular.setEnabled(false);
}
catch (NumberFormatException e){
JOptionPane.showMessageDialog(null,"Informe apenas numeros");
quantCaixas.setText("");
precoCaixa.setText("");
quantCaixas.requestFocus();
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"Erro não identificado");
}
}
if(ev.getSource()==limpar)
{
precoCaixa.setEditable(true);
quantCaixas.setText("");
precoCaixa.setText("");
valorNota.setText("");
valorINSS.setText("");
quantCaixas.requestFocus();
infVerif = 0;
calcular.setEnabled(true);
}
if(ev.getSource()==infAdicionais)
{
if(infVerif==1){
InformacoesAdicionais infAd = new InformacoesAdicionais();
infAd.setVisible(true);
}else{
JOptionPane.showMessageDialog(null,"Não existem dados para serem processados");
}
}
}
public static void main(String args[])
{
JFrame janela = new CalcularINSS();
janela.setTitle("Calcular INSS");
janela.setSize(220,250);
janela.setLocationRelativeTo(null);
janela.setResizable(false);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setVisible(true);
}
}
[code]
import java.io.;
import java.awt.;
import java.awt.event.;
import javax.swing.;
public class InformacoesAdicionais extends JDialog
{
CalcularINSS calcINSS = new CalcularINSS();
JTextArea area = new JTextArea();
public InformacoesAdicionais()
{
setTitle("Informações Adicionais");
setSize(200,150);
setLocationRelativeTo(null);
setResizable(false);
getContentPane().setLayout(new GridLayout());
area.setText("Valor do INSS: "+calcINSS.getINSS());
getContentPane().add(area);
}
}[/code]