//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
|
---|
|
quinta-feira, 24 de maio de 2012
Cotação do dolar convertido em moeda especificada
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário