quinta-feira, 24 de maio de 2012

Cotação do dolar convertido em moeda especificada


//importação das classes necessárias
    2 //layouts para alinhamento dos componentes
    3 import java.awt.FlowLayout;
    4 import java.awt.GridLayout;
    5 //Evento para de ouvir um evento do botão
    6 import java.awt.event.ActionListener;
    7 //Evento de executar uma ação do evento que foi ouvido(ativado)
    8 import java.awt.event.ActionEvent;
    9 //para inserção de textos ou imagens
   10 import javax.swing.JLabel;
   11 //campo para inserção de valores ou caracteres
   12 import javax.swing.JTextField;
   13 //botões de marcar
   14 import javax.swing.JRadioButton;
   15 //grupo de botão para tornar o JRadioButton de seleção exclusiva
   16 import javax.swing.ButtonGroup;
   17 //botão
   18 import javax.swing.JButton;
   19 //Tela
   20 import javax.swing.JFrame;
   21 //painel que permite anexar outros a mesma
   22 import javax.swing.JPanel;
   23 
   24 //Criação da classe EX1 extendendo a classe JFrame que foi importada
   25 public class Ex1 extends JFrame
   26 {
   27    //criação de duas variáveis do tipo double
   28    double r,d,resultado;
   29 
   30    //Criação de um botão de nome botao
   31    private JButton botao = new JButton("Converter");
   32    //criação de label's com valores pré-configurados de texto
   33    private JLabel resposta = new JLabel("");
   34    private JLabel textc1 = new JLabel("Valor inicial:");
   35    private JLabel textc2 = new JLabel("Cotação do dólar:");
   36    private JLabel text1 = new JLabel("Moeda");
   37    private JLabel text2 = new JLabel("Converte p/");
   38 
   39    //criação de campos com valores vazios e 3 de largura
   40    private JTextField real = new JTextField("0",3);
   41    private JTextField dolar = new JTextField("0",3);
   42 
   43    //criação do FlowLayout que alinha componentes da esquerda para a direita.
   44    private FlowLayout flowLayout = new FlowLayout();
   45    /*criação de GridLayout com 5 linhas e 2 colunas com 10 de espaço em largura
   46     e 1 de altura*/
   47    private GridLayout gridLayout1 = new GridLayout(5,2,10,1);
   48    /*criação de GridLayout2 com 2 linhas e 1 coluna */
   49    private GridLayout gridLayout2 = new GridLayout(2,1,10,1);
   50 
   51    //criação de dois paineis
   52    private JPanel gridJPanel1 = new JPanel();
   53    private JPanel gridJPanel2 = new JPanel();
   54 
   55    //criação de 4 JRadioButton com todos desmarcados (false)
   56    private JRadioButton r1 = new JRadioButton("Real",false);
   57    private JRadioButton d1 = new JRadioButton("Dólar",false);
   58    private JRadioButton r2 = new JRadioButton("Real",false);
   59    private JRadioButton d2 = new JRadioButton("Dólar",false);
   60 
   61    //criação do grupo de seleção exclusiva
   62    private ButtonGroup radioGroup1 = new ButtonGroup();
   63    private ButtonGroup radioGroup2 = new ButtonGroup();
   64 
   65    //Método construtor da classe EX1 sem argumentos
   66    public Ex1()
   67    {
   68       //título  da janela
   69       super("Conversão de moeda");
   70       //alinhamento do frame com o uso do objeto flowLayout
   71       super.setLayout(flowLayout);
   72       /*adicionando dois botões JRadioButton d1 e d2,respectivamente ao radioGroup1
   73         para sejam de seleção exclusiva entre os mesmos, ou seja, ao selecionar um
   74         o outro se estiver marcado é automaticamente desmarcado */
   75       radioGroup1.add(r1);
   76       radioGroup1.add(d1);
   77 
   78       //da mesma forma sendo em radioGroup2
   79       radioGroup2.add(r2);
   80       radioGroup2.add(d2);
   81 
   82       //pegando o painel2 recem criado de nome gridJPanel2 e configurando o seu layout
   83       gridJPanel2.setLayout(gridLayout2);
   84       //adicionando 2 componentes em gridJPanel2
   85       gridJPanel2.add(botao);
   86       gridJPanel2.add(resposta);
   87 
   88       //pegando o painel1 recem criado de nome gridJPanel1 e configurando o seu layout
   89       gridJPanel1.setLayout(gridLayout1);
   90       //adicionando 10 componentes em gridJPanel1
   91       gridJPanel1.add(textc1);
   92       gridJPanel1.add(real);
   93       gridJPanel1.add(textc2);
   94       gridJPanel1.add(dolar);
   95       gridJPanel1.add(text1);
   96       gridJPanel1.add(text2);
   97       gridJPanel1.add(r1);
   98       gridJPanel1.add(r2);
   99       gridJPanel1.add(d1);
  100       gridJPanel1.add(d2);
  101 
  102       //adicionando a janela principal
  103       super.add(gridJPanel1);
  104       super.add(gridJPanel2);
  105 
  106       //Criando um objeto registroB da classe RegistroButao para o botão
  107       RegistroButao registroB = new RegistroButao();
  108       //adicionando ao método ActionListener
  109       botao.addActionListener(registroB);
  110 
  111    }//Fim do contrutor sem argumentos
  112    //criando a classe RegistroButao responsável e implementada com o ouvinte
  113    //ActionListener
  114    private class RegistroButao implements ActionListener
  115    {
  116       public void actionPerformed(ActionEvent event)
  117       {
  118          /*pega o valor do campo1 e converte para double atribuindo logo em
  119               seguida a variável r(real) */
  120          r=Double.parseDouble(real.getText());
  121          /*pega o valor do campo2 e converte para double atribuindo logo em
  122               seguida a variável d(dólar) */
  123          d=Double.parseDouble(dolar.getText());
  124          //Se ambos Jradio de reais ou dolares forem marcados, faça
  125          if(((r1.isSelected()==true)&&(r2.isSelected()==true))||((d1.isSelected()==true)&&
  126          (d2.isSelected()==true)))
  127          {
  128 
  129             resultado=r;
  130          }
  131          //Se um Jradio marcado for real e o outro dolar, faça
  132          if((r1.isSelected()==true)&&(d2.isSelected()==true))
  133          {
  134 
  135             resultado=r/d;
  136          }
  137          //Se um Jradio marcado for dolar e o outro real, faça
  138          if((d1.isSelected()==true)&&(r2.isSelected()==true))
  139          {
  140 
  141             resultado=r*d;
  142          }
  143          resposta.setText(String.format("Valor US$: %.3f",resultado));
  144       }//Fim do método ActionPerformed
  145    }//Fim da classe interna RegistroButao
  146 }//Fim da classe principal Ex1
    1 //JFrame classe responsável por exibir a janela
    2 import javax.swing.JFrame;
    3 
    4 //Main - Nome da classe
    5 public class Main
    6 {
    7    //Comando principal para execução do programa
    8    public static void main(String[] args)
    9    {
   10       //Criação de um objeto ex da classe Ex1
   11       Ex1 ex = new Ex1();
   12       //inclusão dos componentes de maximinizar, miniminizar e fechar
   13       ex.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   14       //tamanho da tela
   15       ex.setSize(250,230);
   16       //posição da tela ao abri-la
   17       ex.setLocation(400,300);
   18       //tornando a tela visível
   19       ex.setVisible(true);

Nenhum comentário:

Postar um comentário