Galera resolvi postar um codigo de facil entendimento sobre esse assunto, muito bom para os iniciantes tirar suas dúvidas!
qualquer dúvida ou ideias não deixe de comentar ok!
//* Created on 12/03/2009, 14:06:41
package temperatura;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// pacote para formatação decimal
import java.text.*;
/**
*
* @author Diego
*/
public class Conversor extends javax.swing.JFrame {
//Componentes ativos
private JTextField tfValor, tfValor2;
private JButton bLimpar, bConverter;
//Componentes não ativos
private JLabel lUnidade1, lUnidade2;
//outros elementos: Formatar decimal
DecimalFormat df = new DecimalFormat("###,##0.000");
private double res;
public Conversor() {
super("Conversor");//ajuste o título da janela
//instanciação e ajustes dos componentes
lUnidade1 = new JLabel("Celsius");
lUnidade2 = new JLabel("Farenheit");
tfValor = new JTextField();
tfValor2 = new JTextField();
bLimpar = new JButton("Limpar");
bLimpar.setToolTipText("Limpar as caixas de entrada");
bConverter = new JButton("Converter");
bConverter.setToolTipText("Efetua conversão do valor dado");
//Ajuste do layout e adição dos componentes
Container cp = getContentPane();
cp.setLayout(new GridLayout(3,2,5,5));
cp.add(lUnidade1);cp.add(tfValor);
cp.add(lUnidade2);cp.add(tfValor2);
cp.add(bLimpar);cp.add(bConverter);
//Registro dos event-listeners
bLimpar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bLimparClick();
}
});
bConverter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bConverterClick();
}
});
//ajustes para a janela
cp.setBackground(Color.orange);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
//lipar caixas de texto
private void bLimparClick(){
tfValor.setText("");
tfValor2.setText("");
}
//efetua a conversão conforme o conteudo das caixas de texto
private void bConverterClick(){
//C -> F se tfValor2 vazia e tfValor com conteudo
if(tfValor2.getText().equals("") && !tfValor.getText().equals("")){
double res;
try{
res = 9*Double.parseDouble(tfValor.getText())/5+32;
tfValor.setText("");
tfValor2.setText(df.format(res));
}catch(NumberFormatException exc){
tfValor.selectAll();
tfValor.requestFocus();
Toolkit.getDefaultToolkit().beep();// som chatoooo kkk
}
//F -> C se tfValor vazia e tfValor2 com conteudo
}else if (tfValor.getText().equals("") && !tfValor2.getText().equals("")){
try{
res = 5*(Double.parseDouble(tfValor2.getText())-32)/9;
tfValor2.setText("");
tfValor.setText(df.format(res));
}catch(NumberFormatException exc){
tfValor2.selectAll();
tfValor2.requestFocus();
Toolkit.getDefaultToolkit().beep();// som chatoooo kkk
}
}
}
}