Escolar Documentos
Profissional Documentos
Cultura Documentos
Sem04 CheckBox, Radio, ComboBox
Sem04 CheckBox, Radio, ComboBox
1
Componentes Caixa de Verificação e Botões de Rádio
Os componentes GUI Swing contêm três classes para 3 tipos de botões: JToggleButton,
JCheckBox e JRadioButton que têm valores activados/desactivados ou verdadeiro/falso.
As classes JCheckBox e JRadioButton são subclasses de JToggleButton.
Os componentes de JRadioButton e JCheckBox são diferentes não apenas pela forma.
Normalmente existem vários RadioButton agrupados e apenas um dos RadioButton do
grupo pode estar seleccionado (verdadeiro) a qualquer momento.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CheckBoxTest extends JFrame
{ private JTextField campo;
private JCheckBox bold, italic;
private Container cont;
// configura a GUI
public CheckBoxTest()
{ super( "JCheckBox Test");
cont = getContentPane();
cont.setLayout(new FlowLayout());
// configura JTextField e configura a fonte
campo = new JTextField("Watch the font style change", 20);
campo.setFont(new Font("Serif", Font.PLAIN, 14));
cont.add(campo);
2
// cria objectos de JCheckBox
bold = new JCheckBox("Bold");
cont.add(bold);
italic = new JCheckBox("Italic");
cont.add(italic);
3
//classe interna para tratmento de eventos
private class TrataEvento implements ItemListener
{ private int valBold = Font.PLAIN;
private int valItalic = Font.PLAIN;
5
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RadioButtonTest extends JFrame
{ private JTextField field;
private Font plainFont, boldFont,italicFont,boldItalicFont;
private JRadioButton plainButton,boldButton,italicButton,
boldItalicButton;
private ButtonGroup radioGroup;
private Container cont;
// cria GUI e fontes
public RadioButtonTest()
{ super("RadioButton Test");
cont = getContentPane();
cont.setLayout(new FlowLayout());
field = new JTextField("Watch the font style change", 25);
cont.add(field);
// cria botões de opção
plainButton = new JRadioButton("Plain", true);
cont.add(plainButton);
boldButton = new JRadioButton("Bold", false);
cont.add(boldButton);
italicButton = new JRadioButton("Italic", false);
6
cont.add(italicButton);
boldItalicButton = new JRadioButton("Bold/Italic", false);
cont.add(boldItalicButton);
// registra eventos para JRadioButtons
TrataEvento x = new TrataEvento();
plainButton.addItemListener(x);
boldButton.addItemListener(x);
italicButton.addItemListener(x);
boldItalicButton.addItemListener(x);
// cria relacionamento logico entre JRadioButtons,
radioGroup = new ButtonGroup();
radioGroup.add(plainButton);
radioGroup.add(boldButton);
radioGroup.add(italicButton);
radioGroup.add(boldItalicButton);
11
Referência bibliográfica:
António José Mendes; Maria José Marcelino.
“Fundamentos de programação em Java 2”. FCA. 2002.
Elliot Koffman; Ursula Wolz.
“Problem Solving with Java”. 1999.
F. Mário Martins;
“Programação Orientada aos objectos em Java 2”, FCA, 2000,
John Lewis, William Loftus;
“Java Software Solutions: foundation of program design”, 2nd edition, Addision-Wesley
John R. Hubbard.
“Theory and problems of programming with Java”. Schaum’s Outline series. McGraw-Hill.
H. Deitel; P. Deitel.
“Java, como programar”. 4 edição. 2003. Bookman.
Rui Rossi dos Santos.
“Programando em Java 2– Teoria e aplicações”. Axcel Books. 2004
12