Profa. Isabel Harb Manssour (Material adaptado das aulas dos Profs: Luciana Nedel,Bernardo Copstein,Leandro Pompermaier,Júlio Machado) JCheckbox JRadioButton JComboBox JList JMenu Alguns componentes já vistos em aula JButton JLabel JTextField Outros componentes do pacote Swing JCheckbox JRadioButton JScrollPane JTextArea (pode ser incluída dentro de um JScrollPane para rolagem automática) JPasswordField JComboBox JCheckBox Criar objetos do tipo JCheckBox JCheckBox cb1 = new JCheckBox("Choose Me", true); Para indicar uma opção como escolhida box.setselected(true); O estado do check box pode ser testado pelo método isselected() 1
JCheckBox Exemplo: import javax.swing.*; import java.awt.*; public class AplicacaoGrafica extends JFrame { JCheckBox cb2 = new JCheckBox("Opção 2", false); JCheckBox cb3 = new JCheckBox("Opção 3", false); c.add(new JCheckBox("Opção 1", true)); c.add(cb2); c.add(cb3); public static void main(string args[]) { AplicacaoGrafica ag=new AplicacaoGrafica(); ag.setvisible(true); JRadioButton Botões do tipo radio (seleção única dentro de um grupo) Cada grupo é vinculado a uma instância da classe ButtonGroup Tratamento de eventos similar ao JCheckBox Exemplo (próximo slide): c.setlayout(new GridLayout(4,1)); JRadioButton radiobutton; ButtonGroup rbg = new ButtonGroup(); JLabel label = new JLabel("Salario Anual: "); label.setfont(new Font("SansSerif", Font.BOLD, 14)); c.add(label); radiobutton = new JRadioButton("R$ 24.000,00"); c.add (radiobutton); rbg.add (radiobutton); radiobutton.setselected(true); radiobutton = new JRadioButton("R$ 48.000,00"); c.add (radiobutton); rbg.add (radiobutton); radiobutton = new JRadioButton("R$ 80.000,00"); c.add (radiobutton); rbg.add (radiobutton); 2
JComboBox Combina um botão ou um campo que pode ser editado e uma lista drop-down Exemplo: String choices[] = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus","Neptune", "Pluto" ; JComboBox combo1 = new JComboBox(); JComboBox combo2 = new JComboBox(); for (int i=0;i<choices.length;i++) { combo1.additem (choices[i]); combo2.additem (choices[i]); combo2.seteditable(true); combo2.setselecteditem("x"); combo2.setmaximumrowcount(4); c.add(combo1); c.add(combo2); Exemplo com JComboBox JList Similar à classe List do AWT, exceto que não suporta rolamento (scrolling) direto Portanto, deve ser usada em conjunto com um objeto JScrollPane Exemplo: 3
JList exemplo: import javax.swing.*; import java.awt.*; public class AplicacaoGrafica extends JFrame { String label [] = {"Brasília", "Curitiba", "Florianópolis", "Maceió", "Natal", "Porto Alegre", "Rio de Janeiro", "Salvador", "São Paulo" ; JList list = new JList(label); JScrollPane pane = new JScrollPane(list); c.add(pane, BorderLayout.CENTER); public static void main(string args[]) { AplicacaoGrafica ag=new AplicacaoGrafica(); ag.setvisible(true); Como Compor Menus? Swing suporta todos os tipos de menus que são familiares a aplicações Windows ou Motif Uma barra no alto da janela contém os nomes dos menus pull-down Para abrir um menu basta um clique de mouse sobre o nome correspondente Um menu pode conter opções e sub-menus Menus Uma barra de menus é um conjunto de menus. Um menu, por sua vez, é composto de um conjunto de itens de menu. 4
As partes de um menu devem ser criadas individualmente. A barra do menu é instância da classe JMenuBar JMenuBar mb = new JMenuBar(); Para criar um menu usam-se instâncias da classe JMenu JMenu m1 = new JMenu("File"); As opções devem ser instanciadas individualmente As opções podem então ser adicionadas a um menu m1.add(opopen); Os menus tem de ser adicionados a barra de menu mb.add(m1); Finalmente a barra de menu pode ser adicionada a janela setjmenubar(mb); Exemplo completo: import javax.swing.*; import java.awt.*; public class AplicacaoGrafica extends JFrame { private JButton butok; private JTextField campo1,campo2,resp; private JLabel texto1,texto2; public AplicacaoGrafica () { c.add(new JLabel("Exemplo com Menus!!")); // Criando a barra do menu JMenuBar mb = new JMenuBar(); 5
Exemplo completo: // Criando os menus JMenu mfile = new JMenu("File"); JMenuItem s = new JMenuItem("Save"); JSeparator js = new JSeparator(); JMenuItem f = new JMenuItem("Close"); mfile.add(s); mfile.add(js); mfile.add(f); JMenu medit = new JMenu("Edit"); JMenu msubmenu = new JMenu("Search"); JMenuItem loc = new JMenuItem("Single Search"); JMenuItem sub = new JMenuItem("Replace"); msubmenu.add(loc); msubmenu.add(sub); medit.add(msubmenu); Exemplo completo: JMenu mhelp = new JMenu("Help"); mb.add(mfile); mb.add(medit); mb.add(mhelp); setjmenubar(mb); 6