Академический Документы
Профессиональный Документы
Культура Документы
Priscila Gomes
Neste tutorial iremos falar sobre os aspectos bsicos de uma caixa de verificao: quais os tipos, quando e como utiliza-las, como fazer verificao de eventos, entre outros.
Introduo
medida que seus programas crescerem em complexidade, voc sentir necessidade de fornecer uma srie de opes a serem selecionadas pelo usurio do sistema. Estas escolhas podem ser mltiplas (como por exemplo, uma seleo de atributos para um texto: negrito, tamanho, fonte) ou exclusivas (no caso de escolha do sexo, por exemplo). Uma maneira de fornecer este tipo de escolha criar e exibir controles do tipo caixa de verificao.
Caixas de Verificao
Para criar uma caixa de verificao, utilize o construtor da classe Checkbox, como segue:
add(checbox);
OBS: Construtor quando definimos um mtodo que possui o mesmo nome de uma classe. Em condies normais, toda classe deve ter um construtor.
Checkbox1 = new Checkbox(Andar de Bicicleta, null, false); checkbox2 = new Checkbox(Correr, null, false); checkbox3 = new Checkbox(Nadar, null, false); add(checkbox1); add(checkbox2); add(checkbox3);
Ao rodar a applet, voc ver uma lista de caixas de verificao (como a apresentada na figura a seguir). Para selecionar uma ou mais opes, basta que voc clique com o mouse sobre elas.
As caixas de verificao no-exclusiva permitem que voc selecione quantas opes quiser.
checkbox1 = new Checkbox (Sexo Masculino, group, true); checkbox2 = new Checkbox (Sexo Feminino, group, true);
Observe que o objeto CheckboxGroup, group, o segundo argumento do construtor da classe Checkbox. Esse argumento informa ao java que as caixas de verificao devem ser colocadas no mesmo grupo, podendo ser selecionada apenas uma opo por vez.
Adicione as caixas de verificao tela usando o mtodo add (); Ao rodar a applet, ela se apresentar conforme a figura a baixo:
A primeira opo est selecionada, mas se o usurio desejar marcar outra opo, a primeira opo no mais ser assinalada, e sim a que o usurio escolheu.
public class Jogar extends Applet { //declare os objetos do tipo Checkbox Checkbox checkbox1; Checkbox checkbox2; Checkbox checkbox3; public void init() { //declare o layout como null para poder controlar a apresentao grfica das caixas setLayout(null); //crie os objetos caixa de verificao e passe seus argumentos checkbox1 = new Checkbox(Afrodite,null,false); checkbox2 = new Checkbox(Artemis,null,false); checkbox3 = new Checkbox(Medusa,null,false); //adicione as caixas tela add(checkbox1); add(checkbox2); add(checkbox3); //use o mtodo setBounds() para declarar a posio e tamanho dos objetos na tela checkbox1.setBounds(newRectangle(10,20,140,40)); checkbox2.setBounds(newRectangle(10,50,100,40)); checkbox3.setBounds(newRectangle(10,80,100,40)); } public void paint(Graphics g){ g.drawString(Quem a Deusa do Amor?,10,7); //Verifique se a caixa est selecionada ou no (mtodo getState();), se estiver, siga as instrues boolean checked = checkbox1.getState(); if(checked) g.drawString(Parabens, resposta correta,10,120); checked = checkbox2.getState(); if(checked) g.drawString(Resposta Errada,10,120); boolean checked = checkbox3.getState(); if(checked) g.drawString(Resposta Errada,10,120); } public boolean action(Event evt, Object arg){ repaint(); return true; } } No cdigo a cima, getState() um mtodo que obtem o State(estado)da caixa de verificao, ou seja, permite que voc saiba se ela foi ou no selecionada.
Ao compilar o cdigo, sua applet dever estar como no exemplo a baixo:
Aps o usurio selecionar a opo, exibido um texto dizendo se a alternativa correta foi ou no selecionada. Na tabela a baixo, voc poder encontrar os mtodos pblicos da classe Checkbox:
Mtodos boolean getState( ) verificao CheckboxGroup getCheckboxGroup( ) String getLabel( ) verificao void setCheckboxGroup (CheckboxGroup g) void setState(boolean state) void setLabel(String label)
Funcionalidade retorna o estado da caixa de retorna o objeto grupo da caixa retorna o rotulo da caixa de configura o objeto grupo da caixa configure o estado da caixa configura o rotulo da caixa
Respondendo a um Evento
Na maioria das vezes, os controles do tipo caixa de verificao geram eventos quando recebem um clique. Para responder a um evento gerado por uma caixa de verificao, utilize o identificador target da classe event. (Utilize os mtodos que forem necessrios para identificar e responder o evento). Para entender melhor, analise o cdigo a seguir:
public class Janela extends Applet{ Checkbox checkbox1; Checkbox checkbox2; Checkbox checkbox3; public void init(){ checkbox1 = new Checkbox("Verde"); checkbox2 = new Checkbox("Vermelho"); checkbox3 = new Checkbox("Azul"); add(checkbox1); add(checkbox2); add(checkbox3); setLayout(null); checkbox1.setBounds(new Rectangle(10,20,140,40)); checkbox2.setBounds(new Rectangle(10,50,100,40)); checkbox3.setBounds(new Rectangle(10,80,100,40));
} //sobregrave o mtodo action() public boolean action(Event evento, Object arg){ //se checkbox1 gerar um evento if(evento.target == checkbox1){ //deixe o seu rtulo azul e os outros preto checkbox1.setForeground(Color.green); checkbox2.setForeground(Color.black); checkbox3.setForeground(Color.black); } //se checkbox2 gerar um evento if(evento.target == checkbox2){ //deixe o seu rotulo vermelho e os outros preto checkbox2.setForeground(Color.red); checkbox1.setForeground(Color.black); checkbox3.setForeground(Color.black); } //se checkbox3 gerar um evento if(evento.target == checkbox3){ //deixe o seu rtulo azul e os outros preto checkbox3.setForeground(Color.blue); checkbox2.setForeground(Color.black); checkbox1.setForeground(Color.black); } return false; } }
Aps compilar o cdigo a cima, voc ter a seguinte applet:
Ao clicar sobre uma das opes de cores, o rtulo deve ficar com a cor correspondente a opo desejada.
Concluso
Espero que este tutorial tenha te ensinado o bsico sobre a manipulao de caixas de verificao. Caso tenha alguma dvida, no exite em post-las no frum. Um abrao,
At a prxima.