1 //layout para alinhamento dos componentes
2 import java.awt.FlowLayout;
3 //janela
4 import javax.swing.JFrame;
5 //caixa de seleção
6 import javax.swing.JComboBox;
7 //inserção de texto e/ou imagem
8 import javax.swing.JLabel;
9 //painel
10 import javax.swing.JPanel;
11 //campo para inserção de valores ou caracteres
12 import javax.swing.JTextField;
13 //evento do JComboBox para ouvir o evento
14 import java.awt.event.ItemListener;
15 //Evento do JComboBox de executar uma ação do evento que foi ouvido(ativado)
16 import java.awt.event.ItemEvent;
17
18 //Criação da classe EX12 extendendo a classe JFrame que foi importada
19 public class Ex12 extends JFrame
20 {
21 //declaração de um array de 2 colunas já com seus valores configurados
22 private String tipo[]={"Física","Jurídica"};
23 //criação de uma variável inteira de nome valor
24 private int valor;
25
26 //criação do FlowLayout que alinha componentes da esquerda para a direita.
27 private FlowLayout flowLayout = new FlowLayout();
28 //criação de um painel
29 private JPanel panel = new JPanel();
30 //Criação das label's
31 private JLabel Lcargo = new JLabel("Tipo de Pessoa:");
32 private JLabel Lcpf_cnpj = new JLabel("CPF:");
33 //criação do campo
34 private JTextField Fcpf_cnpj = new JTextField("", 5);
35 //criação da caixa de seleção anexando o valor do array cargos
36 private JComboBox escolhas = new JComboBox(tipo);
37
38 //construtor de Ex12
39 public Ex12()
40 {
41 //título da janela
42 super("Exemplo de uso com JComboBox");
43 //alinhamento do frame com o uso do objeto flowLayout
44 super.setLayout(flowLayout);
45 //tamanho da janela
46 setSize(300, 100);
47 //inclusão dos componentes de maximinizar, miniminizar e fechar
48 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
49
50 //exibe 2 linhas da caixa de seleção ao clicá-la
51 escolhas.setMaximumRowCount(2);
52 //adiciona os componentes ao painel
53 panel.add(Lcargo);
54 panel.add(escolhas);
55 panel.add(Lcpf_cnpj);
56 panel.add(Fcpf_cnpj);
57
58 //adiciona a janela principal
59 super.add(panel);
60
61 //responsável por tratar os eventos do JComboBox
62 escolhas.addItemListener(
63 new ItemListener() //classe interna anônima
64 {
65 //Verifica se ouve mudanças no JComboBox
66 public void itemStateChanged(ItemEvent event)
67 {
68 //Se algo foi selecionado, faça
69 if(event.getStateChange()==ItemEvent.SELECTED)
70 {
71 //Pegue o valor(posição) que foi selecionado
72 valor = escolhas.getSelectedIndex();
73 //se valor for 0, ou seja, se for selecionado Física; faça
74 if(valor==0)
75 //reconfigure a label com o nome CPF
76 Lcpf_cnpj.setText("CPF:");
77 else
78 //do contrário reconfigure como CNPJ
79 Lcpf_cnpj.setText("CNPJ:");
80 }
81 }
82 }
83 );//fim da classe interna anônima
84 }//Fim do construtor EX12 sem argumentos
85 }//Fim da classe Ex12
|