Construção de aplicativo GUI com Swing!

0 respostas
Diego_Fontenele

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
       }

      }
    }
       
       
}
Criado 12 de março de 2009
Respostas 0
Participantes 1