1 / 16

Mais componentes da GUI

Mais componentes da GUI. JTextField e JPasswordField. JTextField: caixa de texto (TextField, em awt); JPasswordField: caixa de texto para senha (caracter default: '*', sendo alterável por setEchoChar('caracter') ). class Compo01 extends Frame implements ActionListener {

eric-grimes
Download Presentation

Mais componentes da GUI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maiscomponentesda GUI

  2. JTextFielde JPasswordField JTextField: caixa de texto (TextField, em awt); JPasswordField: caixa de texto para senha (caracter default: '*', sendo alterável por setEchoChar('caracter') ). class Compo01 extends Frame implements ActionListener { private JLabel l1=new JLabel("Digite seu nome:"); private JTextField campo1 = new JTextField("nome",20); private JLabel l2=new JLabel("Digite sua senha:"); private JPasswordField campo2 = new JPasswordField(5); private JPanel p1=new JPanel(new GridLayout(4,1)); Compo01(String tit, int larg, int alt, int col, int lin) { super(tit); setSize(larg,alt); setLocation(col,lin);

  3. JTextFielde JPasswordField campo1.addActionListener(this); campo2.addActionListener(this); p1.add(l1); p1.add(campo1); p1.add(l2); p1.add(campo2); add(p1); } public void actionPerformed(ActionEvent e) { if (e.getSource() == campo1) campo2.requestFocus(); if (e.getSource() == campo2) System.exit(0); } }

  4. TextArea TextArea: caixa de texto de várias linhas, memo (também JTextArea – swing); class Compo02 extends Frame { private Label l1=new Label("Digite o texto:"); private TextArea caixa1 = new TextArea(5,20); Compo02(String titulo, int largura, int altura, int colinic, int lininic) { super(titulo); setSize(largura,altura); setLocation(colinic,lininic); setLayout(new FlowLayout( FlowLayout.LEFT)); add(l1); add(caixa1); } }

  5. JTextArea Como JTextArea não apresenta as barras de rolagem, é necessário criar e instanciar o componente JScrollPane com o JTextArea declarado: class Compo02a extends Frame { private JLabel l1=new JLabel("Digite o texto:"); private JTextArea caixa1 = new JTextArea(5,20); private JScrollPane j = new JScrollPane(caixa1); Compo02a(String titulo, int largura, int altura, int colinic, int lininic) { super(titulo); setSize(largura,altura); setLocation(colinic,lininic); setLayout(new FlowLayout(FlowLayout. LEFT)); add(l1); add(j); } } O método append() permite inserir uma string na área de texto.

  6. List List: caixa de listagem (listbox) class Compo03 extends Frame { private Label l1=new Label("Opções:"); private List lst1= new List(5); Compo03(String titulo, int largura, int altura, int colinic, int lininic) { super(titulo); setSize(largura,altura); setLocation(colinic,lininic); setLayout(new FlowLayout(FlowLayout.LEFT)); add(l1); add(lst1); lst1.add("maçã"); lst1.add("banana"); lst1.add("uva"); lst1.add("pera"); lst1.add("mamão"); lst1.add("melancia"); } }

  7. List e Jlist – exemplos class Compo03a extends Frame implements ActionListener, ItemListener { private String S[] = {"maçã","banana","uva","pera", "mamão","melancia"}; private Label l1 = new Label("Opções:"); private List lst1 = new List(5); private Label l2 = new Label("fruta"); private Label l3 = new Label("selecionada"); Compo03a(String titulo, int largura, int altura, int colinic, int lininic) { super(titulo); setSize(largura,altura); setLocation(colinic,lininic); setLayout(new FlowLayout(FlowLayout.LEFT)); add(l1); add(lst1); add(l2); add(l3); lst1.addActionListener(this); lst1.addItemListener(this); for(int x=0;x<=5;x++) lst1.add(S[x]); }

  8. List e JList - Exemplo public void actionPerformed(ActionEvent e) { if (e.getSource() == lst1) l2.setText(lst1.getSelectedItem()); } public void itemStateChanged(ItemEvent e) { if (e.getSource() == lst1) { if (lst1.getSelectedIndex()>-1) l3.setText(lst1.getSelectedItem()); } } }

  9. Choice Choice: semelhante a um ComboBox class Compo03b extends Frame implements ItemListener { private String S[] = {"maçã","banana","uva","pera", "mamão","melancia"}; private Label l1 = new Label("Opções:"); private Choice lst1 = new Choice(); private Label l3 = new Label("selecionada"); Compo03b(String titulo, int largura, int altura, int colinic, int lininic) { super(titulo); setSize(largura,altura); setLocation(colinic,lininic); setLayout(new FlowLayout(FlowLayout.LEFT)); add(l1); add(lst1); add(l3); lst1.addItemListener(this);

  10. Choice for(int x=0;x<=5;x++) lst1.add(S[x]); } public void itemStateChanged(ItemEvent e) { if (e.getSource() == lst1) { if (lst1.getSelectedIndex()>-1) l3.setText(lst1.getSelectedItem()); } } }

  11. Checkbox class Compo04 extends Frame { private Label l1 = new Label("Opções:"); private Checkbox ck1 = new Checkbox("Opção 1",false); private Checkbox ck2 = new Checkbox("Opção 2",false); private Checkbox ck3 = new Checkbox("Opção 3",true); Compo04(String titulo, int largura, int altura, int colinic, int lininic) { super(titulo); setSize(largura,altura); setLocation(colinic,lininic); setLayout(new FlowLayout(FlowLayout.LEFT)); add(l1); add(ck1); add(ck2); add(ck3); } }

  12. Checkbox • Alguns métodos de Checkbox: • getLabel(): recupera o texto associado ao Checkbox; • getState(): recupera o estado (falso/verdadeiro) do Checkbox; • setLabel(string): seta o rótulo do Checkbox; • setState(boolean): seta o estado do Checkbox (falso/verdadeiro).

  13. RadioButton Não há componente semelhante ao RadioButton. Pode-se colocar vários checkbox em um CheckboxGroup: assim, eles funcionarão semelhantemente a um RadioButton: class Compo05 extends Frame { private Label l1 = new Label("Opções:"); private CheckboxGroup cbg = new CheckboxGroup(); private Checkbox ck1= new Checkbox("Opção 1",cbg,true); private Checkbox ck2= new Checkbox("Opção 2",cbg,false); private Checkbox ck3= new Checkbox("Opção 3",cbg,false); Compo05(String tit, int lar, int alt, int col, int lin) { super(tit); setSize(lar,alt); setLocation(col,lin); setLayout(new FlowLayout(FlowLayout.LEFT)); add(l1); add(ck1); add(ck2); add(ck3); } }

  14. Imagens Não há componente exclusivo para apresentação de imagens. Podemos utilizar o ImageIcon e trabalhá-lo como um JScrollPane: class Compo06 extends Frame { private ImageIcon i = new ImageIcon("fig.gif"); private JScrollPane j = new JScrollPane (new JLabel (i)); Compo06(String tit, int lar, int alt, int col, int lin) { super(tit); setSize(lar,alt); setLocation(col,lin); setLayout(new FlowLayout(FlowLayout.LEFT)); add(j); } }

  15. Imagens Ou podemos trabalhar com a classe Image e o objeto Toolkit: class Compo06 extends Frame implements ActionListener { private TextField tf = new TextField(); private Image img; Compo06(String tit, int larg, int alt, int colinic, int lininic) { super(tit); setSize(larg,alt); setLocation(colinic,lininic); tf.addActionListener(this); add(tf,BorderLayout.SOUTH); }

  16. Imagens public void actionPerformed(ActionEvent e) { if (img != null) img.flush(); img = Toolkit.getDefaultToolkit().getImage(tf.getText()); repaint(); } public void paint(Graphics g) { if (img != null) { Insets i = getInsets(); g.drawImage(img,i.left,i.top,this); } } } getImage obtém um arquivo gráfico e flush libera recursos do objeto

More Related