ai vai,
observe que o JFrame1 é a classe que chama o JFrame2, logo quando você for executar o programa digite “java JFrame1”…
como também estou aprendendo java… estou aprendendo e utilizando o Eclipse 3.1, que por padrão não é uma IDE RAD, mas existem plugins que adicionam esta característica(plugin VEP), e eu ainda não instalei.
como você está começando, é recomendável não utilizar uma IDE parecida com o Delphi ou VB, tente aprender na unha…
JFrame1.java
[code] import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
*/
/**
*/
public class JFrame1 implements ActionListener, KeyListener {
private JFrame frmTela;
private JPanel panelreal;
private JPanel paneldolar;
private JPanel panelSair;
private JTextField txtReal;
private JTextField txtDolar;
private JLabel lblreal;
private JLabel lbldolar;
private JButton btnCliqueAqui;
private float auxiliar;
private NumberFormat formatadorDeNumeros = null;
public JFrame1() {
// TODO Auto-generated constructor stub
frmTela = new JFrame("JFrame1");
frmTela.setLayout(new BorderLayout());
panelreal = new JPanel();
paneldolar = new JPanel();
panelSair = new JPanel();
txtReal = new JTextField(10);
txtReal.addKeyListener(this);
txtDolar = new JTextField(10);
txtDolar.addKeyListener(this);
lblreal = new JLabel("Digite o seu real:");
lbldolar = new JLabel("Digite a sua dolar:");
btnCliqueAqui = new JButton("Chama JFrame2");
btnCliqueAqui.addActionListener(this);
panelreal.add(lblreal);
panelreal.add(txtReal);
panelSair.add(btnCliqueAqui);
paneldolar.add(lbldolar);
paneldolar.add(txtDolar);
frmTela.add(panelreal,BorderLayout.NORTH);
frmTela.add(paneldolar,BorderLayout.CENTER);
frmTela.add(panelSair,BorderLayout.SOUTH);
frmTela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmTela.pack();
frmTela.setResizable(false);
frmTela.setLocationRelativeTo(null);
frmTela.setVisible(true);
// aqui é inicializado o formatador de número utilizado
// por esta classe
formatadorDeNumeros = new DecimalFormat("###,##0.00");
auxiliar = 0.0f;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new JFrame1();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if ( e.getSource() == btnCliqueAqui) {
JFrame2 jframe2 = new JFrame2(this);
}
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyChar()==',') {
e.setKeyChar('.');
}
}
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
// txtReal.setText(txtReal.getText().replaceAll(",","."));
// txtDolar.setText(txtDolar.getText().replaceAll(",","."));
if ( e.getSource() == txtReal) {
try {
auxiliar = Float.parseFloat(txtReal.getText()) / 2.70f;
} catch (Exception exc) {
auxiliar = 0.0f;
}
txtDolar.setText(formatadorDeNumeros.format(auxiliar));
} else {
try {
auxiliar = Float.parseFloat(txtDolar.getText()) * 2.70f;
} catch (Exception exc) {
auxiliar = 0.0f;
}
txtReal.setText(formatadorDeNumeros.format(auxiliar));
}
}
/**
* @return Returns the txtDolar.
*/
public JTextField getTxtDolar() {
return txtDolar;
}
/**
* @return Returns the txtReal.
*/
public JTextField getTxtReal() {
return txtReal;
}
/**
* @param txtDolar The txtDolar to set.
*/
public void setTxtDolar(String txtDolar) {
this.txtDolar.setText(txtDolar);
}
/**
* @param txtReal The txtReal to set.
*/
public void setTxtReal(String txtReal) {
this.txtReal.setText(txtReal);
}
}[/code]
JFrame2.java
[code] import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
*/
/**
*/
public class JFrame2 implements ActionListener, KeyListener {
private JFrame frmTela;
/*
* este aqui é a referencia para o JFrame1
*/
private JFrame1 referenciaParaJFrame1 = null;
private JPanel panelreal;
private JPanel paneldolar;
private JPanel panelSair;
private JTextField txtReal;
private JTextField txtDolar;
private JLabel lblreal;
private JLabel lbldolar;
private JButton btnSair;
private float auxiliar;
private NumberFormat formatadorDeNumeros = null;
public JFrame2(JFrame1 jframe1) {
// TODO Auto-generated constructor stub
referenciaParaJFrame1 = jframe1;
frmTela = new JFrame("JFrame2");
frmTela.setLayout(new BorderLayout());
panelreal = new JPanel();
paneldolar = new JPanel();
panelSair = new JPanel();
txtReal = new JTextField(10);
txtReal.addKeyListener(this);
txtDolar = new JTextField(10);
txtDolar.addKeyListener(this);
lblreal = new JLabel("Digite o seu real:");
lbldolar = new JLabel("Digite a sua dolar:");
btnSair = new JButton("Sair");
btnSair.addActionListener(this);
panelreal.add(lblreal);
panelreal.add(txtReal);
panelSair.add(btnSair);
paneldolar.add(lbldolar);
paneldolar.add(txtDolar);
frmTela.add(panelreal,BorderLayout.NORTH);
frmTela.add(paneldolar,BorderLayout.CENTER);
frmTela.add(panelSair,BorderLayout.SOUTH);
frmTela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frmTela.pack();
frmTela.setResizable(false);
frmTela.setLocationRelativeTo(null);
frmTela.setVisible(true);
// aqui é inicializado o formatador de número utilizado
// por esta classe
formatadorDeNumeros = new DecimalFormat("###,##0.00");
auxiliar = 0.0f;
}
/**
* @param args
*/
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
frmTela.dispose();
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyChar()==',') {
e.setKeyChar('.');
}
}
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
// txtReal.setText(txtReal.getText().replaceAll(",","."));
// txtDolar.setText(txtDolar.getText().replaceAll(",","."));
if ( e.getSource() == txtReal) {
try {
auxiliar = Float.parseFloat(txtReal.getText()) / 2.70f;
} catch (Exception exc) {
auxiliar = 0.0f;
}
txtDolar.setText(formatadorDeNumeros.format(auxiliar));
} else {
try {
auxiliar = Float.parseFloat(txtDolar.getText()) * 2.70f;
} catch (Exception exc) {
auxiliar = 0.0f;
}
txtReal.setText(formatadorDeNumeros.format(auxiliar));
}
/*
* lembra da variável referenciaParaJFrame1????
*/
referenciaParaJFrame1.setTxtDolar(txtDolar.getText());
referenciaParaJFrame1.setTxtReal(txtReal.getText());
}
}[/code]
espero ter ajudado…