INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Documentos relacionados
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

JFC/Swing. LPGII - Java Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA

Programação Orientada a Objetos II

Interface Gráficas Parte I. Bruno Crestani Calegaro

Gerenciadores de Layout

Criando interfaces com o usuário. Continuação

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

JFC/Swing. Java Avançado Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

Programação Java. Construção de Interfaces com Swing (I)

Gerenciamento de Layout

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

8. Interfaces Gráficas de Usuário

Linguagem Java - Prof. Luciana Porcher Nedel 1. Um container genérico e visual. Ela trabalha em cooperação com o controle de layouts.

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Programação Orientada a Objetos com Java. Prof. Júlio Machado

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

Programação Gráfica em Java Alguns Componentes javax.swing

Interfaces Gráficas (GUIs) em Java usando Swing

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Introdução à Programação Gráfica em Java

Modulo I Swing Básico

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

Interfaces Gráficas POO. Prof. Márcio Delamaro

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof.

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing

Elaborando as Interfaces Aulas 31, 32 e 33

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.

Orientação a Objetos

Programação II. Cassio Diego

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Gerenciadores de Layout: Layout de Borda, de Fluxo, de Grade, de Conjunto de Grades, de Caixa, do Cartão e Nulo

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

MÓDULO 4 SWING Parte 3

Componentes no Java SE

Curso Java Starter. 1

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

Capítulo 28. Componentes de. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Swing Módulo II. Tiago Alves de Oliveira. Tiago Alves de Oliveira 1

Programação Orientada a Objetos em Java. GUI Graphical User Interface

Elaborando as Interfaces Aulas 43, 44 e 45

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

Módulo I Interface com usuário GUI

Módulo II Interface com usuário GUI

Marcelo Henrique dos Santos

Arquivos. Prof. Leonardo Barreto Campos 1

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

A classe JTextField

Interface Gráfica. Prof. Marcelo Cohen. (material da Profa. Luciana Nedel) Graphical User Interface (GUI)

Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.

Gerenciadores de Layouts

JMENU, JDESKTOPPANE E JINTERNALFRAME

Componentes Parte 01

Principais Classes Swing AWT

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

Programação Orientada a Objetos

Interfaces Gráficas (GUIs) em Java usando Swing

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Interfaces Gráficas: Interações Complexas

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1)

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Desenvolvimento de Aplicações Desktop

Marcelo Henrique dos Santos

Linguagem de Programação II GUI Interface Gráfica com o Usuário

Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27.

Gestores de Layout. Arranjo de elementos numa Janela

Interface Gráfica. GUI (Graphic User Interface) AWT e Swing Containers e componentes Layouts. Linguagem Java - Prof. Luciana Porcher Nedel 1

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Programação Orientada a Objetos

Técnicas de Programação II

Módulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Processo Básico: OO + Eventos. Java First-Tier: Aplicações. Construção de Interface gráfica. Exemplo. Exemplo. Exemplo. Hierarquia de Composição

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Criação de interfaces gráficas

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

Java Deployment Course

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Swing. Page 1. Swing. Prof. Anderson Augustinho Uniandrade

Introdução Interfaces (revisão) Delegação de eventos Tratamento de eventos Classes Adaptadoras Capturando Eventos nos Componentes Swing

Java - Swing. Raphaela Galhardo raphaela@j2eebrasil.com.br

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

Prof. Responsáveis Wagner Santos C. de Jesus

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

COM220 Aula 17: Interface Gráfica Containers Swing

Aula Prática Criando Views e Controles

TIC - Programação Visual. Componentes. Prof. Edwar Saliba Júnior Setembro de Unidade 14 Componentes 1

AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula. Janelas para leitura e exibição de textos

. Uma instância da classe JTextField gera uma instância da classe ActionEvent quando o objecto está activo e o utilizador pressiona a tecla ENTER.

Linguagem de programação 2 GUI

Tiago Alves de Oliveira. Tiago Alves de Oliveira

Transcrição:

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList 1

Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList Outros Painéis Intermediários (1) Além do container JPanel, o Swing possui outros containers intermediários. Entre eles estão: JSplitPane JScrollPane 2

Outros Painéis Intermediários (2) JTabbedPane JToolBar Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList 3

Seleção do Look & Feel (1) Swing permite que o desenvolvedor especifique a forma com que sua aplicação se apresenta para o usuário; A classe UIManager permite a alteração do look & feel; O código abaixo especifica o look & feel default, chamado de Java Look & Feel (independente de plataforma). try UIManager.setLookAndFeel (UIManager.getCrossPlatformLookAndFeelClassName()); catch (ClassNotFoundException e) catch (UnsupportedLookAndFeelException e) catch (Exception e) Seleção do Look & Feel (2) Pode-ser também pode optar pelo look & feel nativo da plataforma utilizada pelo usuário: try UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName()); catch (ClassNotFoundException e) catch (UnsupportedLookAndFeelException e) catch (Exception e) 4

Seleção do Look & Feel (3) Por último, pode-se passar o nome da classe que implementa um determinado look & feel; No Windows estão disponíveis os seguintes look & feel: javax.swing.plaf.metal.metallookandfeel com.sun.java.swing.plaf.motif.motiflookandfeel com.sun.java.swing.plaf.windows.windowslookandfeel try UIManager.setLookAndFeel ( com.sun.java.swing.plaf.motif.motiflookandfeel ); Java Look & Feel 5

Motif Look & Feel Windows Look & Feel 6

Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList Gerenciadores de layout Ferramentas como o Visual Basic e Delphi usam coordenadas (x,y) para definir a localização de componentes na interface gráfica; O Swing usa Gerenciadores de Layout (Layout Managers) para controlar o posicionamento dos componentes; Sem um gerenciador de layout, os componentes podem ser movidos para posições inesperadas quando a tela é redimensionada. 7

Tipos de gerenciadores de layout (1) BorderLayout Divide o contêiner em 5 seções: North, South, East, West e Center. BoxLayout Coloca os componentes em uma única linha ou coluna. FlowLayout Componentes posicionados da esquerda para a direita e de cima para baixo; Muda para uma nova linha quando necessário. Tipos de gerenciadores de layout (2) GridLayout Posiciona componentes em uma grade de linhas e colunas; Força os componentes a terem o mesmo tamanho. NullLayout O programador é responsável pelo posicionamento de cada componente. 8

BorderLayout Composto de cinco áreas; A área central toma a maior parte do espaço disponível; As demais áreas se expandem o necessário para preencher os espaços restantes. BorderLayout Exemplo (1) import javax.swing.*; import java.awt.*; public class ExemploBorderLayout extends JFrame public ExemploBorderLayout(String s) super(s); JButton b; JPanel p = new JPanel(); getcontentpane().add(p); p.setlayout(new BorderLayout()); b=new JButton("Button 1 (PAGE_START)"); p.add(b,borderlayout.page_start); b=new JButton("Button 2 (CENTER)"); p.add(b,borderlayout.center); b=new JButton("Button 3 (LINE_START)"); p.add(b,borderlayout.line_start); b=new JButton("Long-Named Button 4(PAGE_END)"); p.add(b,borderlayout.page_end); b=new JButton("5 (LINE_END)"); p.add(b,borderlayout.line_end); setsize(600,400); 9

BorderLayout Exemplo (2) BoxLayout Exemplo (1) import javax.swing.*; import java.awt.*; public class ExemploBoxLayout extends JFrame public ExemploBoxLayout(String s) super(s); JButton b; JPanel p = new JPanel(); getcontentpane().add(p); p.setlayout(new BoxLayout(p,BoxLayout.Y_AXIS)); b=new JButton("Button 1"); b.setalignmentx(component.center_alignment); p.add(b); b=new JButton("Button 2"); b.setalignmentx(component.center_alignment); p.add(b); b=new JButton("Long-Named Button 3"); b.setalignmentx(component.center_alignment); p.add(b); b=new JButton("4"); b.setalignmentx(component.center_alignment); p.add(b); setsize(300,150); 10

BoxLayout Exemplo (2) FlowLayout Exemplo (1) import javax.swing.*; import java.awt.*; public class ExemploFlowLayout extends JFrame public ExemploFlowLayout(String s) super(s); JButton b; JPanel p = new JPanel(); getcontentpane().add(p); p.setlayout(new FlowLayout()); b=new JButton("Button 1"); p.add(b); b=new JButton("Button 2"); p.add(b); b=new JButton("Long-Named Button 3"); p.add(b); b=new JButton("4"); p.add(b); pack(); 11

FlowLayout Exemplo (2) GridLayout Posiciona componentes em uma grade de linhas e colunas; Todas as células são do mesmo tamanho; Principais Construtores: GridLayout() //uma linha - colunas se expandem GridLayout(rows,cols) GridLayout(rows,cols,hgap,vgap) Adicione os componentes na ordem de cima para baixo e da esquerda para a direita. 12

GridLayout Exemplo (1) import javax.swing.*; import java.awt.*; public class ExemploGridLayout extends JFrame public ExemploGridLayout(String s) super(s); JButton b; JPanel p = new JPanel(); getcontentpane().add(p); p.setlayout(new GridLayout(0,2)); b=new JButton("Button 1"); p.add(b); b=new JButton("Button 2"); p.add(b); b=new JButton("Long-Named Button 3"); p.add(b); b=new JButton("4"); p.add(b); b=new JButton("Button 5"); p.add(b); pack(); GridLayout Exemplo (2) 13

NullLayout Exemplo (1) import javax.swing.*; import java.awt.*; public class ExemploNullLayout extends JFrame public ExemploNullLayout(String s) super(s); Dimension size; JButton b1,b2,b3; JPanel p = new JPanel(); getcontentpane().add(p); p.setlayout(null); b1=new JButton("Button 1"); p.add(b1); b2=new JButton("Button 2"); p.add(b2); b3=new JButton("Button 3"); p.add(b3); Insets in=p.getinsets(); size=b1.getpreferredsize(); b1.setbounds(25+in.left, 5+in.top,size.width,size.height); size=b2.getpreferredsize(); b2.setbounds(55+in.left,40+in.top,size.width,size.height); size=b3.getpreferredsize(); b3.setbounds(150+in.left,15+in.top,size.width+50,size.height+20); NullLayout Exemplo (2) import javax.swing.*; import java.awt.*; public class Exemplo public static void main(string[] args) ExemploNullLayout f=new ExemploNullLayout("Exemplo NullLayout"); Insets ins=f.getinsets(); f.setsize(300+ins.left+ins.right,125+ins.top+ins.bottom); f.setvisible(true); 14

NullLayout Exemplo (3) Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList 15

JComponent Superclasse da maioria dos componentes Swing; Principais características: Look & feel adaptável; Tratamento de eventos; Tooltips; Tecnologias de assistência, tais como Braille; Teclas de atalho. Subclasses concretas de JComponent Algumas classes descendentes de JComponent, definidas no pacote javax.swing: JButton; JLabel; JMenu; JMenuItem; JTextField. Operações mais comumente aplicadas a um componente: Definir dimensões; Modificar cor; Definir fontes; Atrelar ajuda de contexto (tool tip). 16

Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList Classe JLabel Essa classe modela um texto e/ou imagem não editável, isto é, sem interação com o usuário; Pode-se controlar tanto o seu alinhamento horizontal como o vertical; Pode também manipular conteúdo HTML: Se o texto possuir "<html>...</html>", o conteúdo é apresentado como HTML; O tipo de fonte é ignorado se HTML for usado. Nesse caso, o controle do tipo de fonte deve ser realizado através de tags HTML; O suporte HTML ainda é limitado. 17

Classe JLabel Principais métodos JLabel() JLabel(String text) JLabel(String text, Icon icon, int horizontalalignment) void settext(string text) void seticon(icon icon) void seticontextgap(int icontextgap) void sethorizontalalignment(int alignment) void setverticalalignment(int alignment) Classe JLabel Exemplo import javax.swing.*; import java.awt.*; public class MeuFrame extends JFrame public MeuFrame(String nome) super(nome); setlayout(new FlowLayout()); JLabel l=new JLabel("Isso é um B-777"); l.seticon(new ImageIcon("B-777.jpg")); getcontentpane().add(l); pack(); setvisible(true); 18

Classe JLabel Exemplo Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList 19

Classe JButton Modela um push-button; Sendo uma sub-classe de AbstractButton, herda os métodos getlabel e setlabel, que permitem consultar e alterar o seu texto; Permite que o botão seja cadastrado como default button do RootPane. Classe JButton Principais métodos JButton() JButton(Icon icon) JButton(String text) JButton(String text, Icon icon) void addactionlistener(actionlistener l) void setbounds(int x,int y,int width,int height) void settext(string text) void settooltiptext(string text) void setenabled(boolean b) void setvisible(boolean aflag) 20

Classe JButton Exemplo import javax.swing.*; import java.awt.*; public class MeuFrame extends JFrame public MeuFrame(String nome) super(nome); setlayout(null); Container c=getcontentpane(); JButton b1 = new JButton("Botão 1"); JButton b2 = new JButton("Botão 2"); JButton b3 = new JButton("Botão 3"); b1.setbounds(50,50,80,30); b2.setbounds(50,100,80,30); b3.setbounds(50,150,80,30); b1.settooltiptext("ajuda"); b2.setenabled(false); c.add(b1); c.add(b2); c.add(b3); setsize(400,350); setvisible(true); Classe JButton Exemplo 21

Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList Classe JRadioButton Modela um botão de escolha que pode ser marcado e desmarcado; Objetos do tipo JRadioButton são organizados em grupos; Apenas um único botão de um grupo pode estar marcado em um dado momento. 22

Classe JRadioButton Principais métodos JRadioButton() JRadioButton(Icon icon) JRadioButton(Icon icon, boolean selected) JRadioButton(String text) JRadioButton(String text, boolean selected) JRadioButton(String text, Icon icon) JRadioButton(String text, Icon icon, boolean selected) void setselected(boolean b) boolean isselected() Classe ButtonGroup Cria um escopo de exclusão para um grupo de botões; Quando um botão de um determinado grupo é selecionado todos os demais botões do mesmo grupo são desmarcados; Devemos criar um ButtonGroup e adicionar a ele os JRadioButtons que compõem o grupo. 23

Classe ButtonGroup Principais métodos ButtonGroup() void add(abstractbutton b) ButtonModel getselection() boolean isselected(buttonmodel m) void setselected(buttonmodel m,boolean b) Classe JRadioButton Exemplo import java.awt.*; import javax.swing.*; public class MeuFrame extends JFrame public MeuFrame(String nome) super(nome); setlayout(null); JLabel l=new JLabel(); l.seticon(new ImageIcon("escudo.gif")); Container c=getcontentpane(); JRadioButton b1=new JRadioButton("Botafogo",true); JRadioButton b2=new JRadioButton("Flamengo"); JRadioButton b3=new JRadioButton("Fluminense"); JRadioButton b4=new JRadioButton("Vasco"); ButtonGroup bg = new ButtonGroup(); 24

Classe JRadioButton Exemplo bg.add(b1); bg.add(b2); bg.add(b3); bg.add(b4); l.setbounds(230,70,100,100); b1.setbounds(50,50,100,30); b2.setbounds(50,80,100,30); b3.setbounds(50,110,100,30); b4.setbounds(50,140,100,30); c.add(l); c.add(b1); c.add(b2); c.add(b3); c.add(b4); setsize(350,300); setvisible(true); Classe JRadioButton Exemplo 25

Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList Classe JCheckBox Modela uma caixa de escolha, que pode ser marcada ou desmarcada; Por convenção, qualquer número de check boxes em um grupo pode ser selecionado. 26

Classe JCheckBox Principais métodos JCheckBox() JCheckBox(String label); JCheckBox(String label,boolean state) boolean isselected() void setselected(boolean state) Classe JCheckBox Exemplo import java.awt.*; import javax.swing.*; public class MeuFrame extends JFrame public MeuFrame(String nome) super(nome); setlayout(null); JLabel l=new JLabel(); l.seticon(new ImageIcon("bandeira.jpg")); Container c=getcontentpane(); JCheckBox cb1=new JCheckBox("Verde",true); JCheckBox cb2=new JCheckBox("Vermelho",false); JCheckBox cb3=new JCheckBox("Preto",false); JCheckBox cb4=new JCheckBox("Amarelo",true); 27

Classe JCheckBox Exemplo l.setbounds(200,70,170,100); cb1.setbounds(50,50,100,30); cb2.setbounds(50,80,100,30); cb3.setbounds(50,110,100,30); cb4.setbounds(50,140,100,30); c.add(l); c.add(cb1); c.add(cb2); c.add(cb3); c.add(cb4); setsize(410,300); setvisible(true); Classe JCheckBox Exemplo 28

Programa Capítulo 11 Outros Painéis Intermediários Seleção do Look & Feel Gerenciadores de Layout JComponent JLabel JButton JRadioButton JCheckBox JList Classe JList Modela um elemento que apresenta uma lista de opções ao usuário; Permite a seleção simples (um único elemento) ou múltipla (vários elementos). 29

Classe JList Principais métodos JList() JList(Object[] listdata) JList(Vector<?> listdata) void setselectionmodel(listselectionmodel selectionmodel) int getselectedindex() int[] getselectedindices() Object getselectedvalue() Object[] getselectedvalues() Classe JList Modos de seleção Os valores dos modos de seleção foram definidos como constantes na interface ListSelectionModel: MULTIPLE_INTERVAL_SELECTION Não há restrições sobre a seleção ( default ). SINGLE_INTERVAL_SELECTION Um intervalo contíguo de elementos pode ser selecionado SINGLE_SELECTION Apenas um elemento pode ser selecionado 30

Classe JList Exemplo import java.awt.*; import javax.swing.*; public class MeuFrame extends JFrame public MeuFrame(String nome) super(nome); setlayout(null); String[] lc="verde","vermelho","preto","amarelo"; JLabel l = new JLabel(); l.seticon(new ImageIcon("bandeira.jpg")); Container c=getcontentpane(); JList jl=new JList(lc); jl.setselectionmode (ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); Classe JList Exemplo jl.addlistselectionlistener(new MeuListListener()); l.setbounds(200,70,170,100); jl.setbounds(50,70,100,100); c.add(l); c.add(jl); setsize(410,300); setvisible(true); 31

Classe JList Exemplo Classe JList Eventos de seleção Eventos de seleção são gerados sempre que a seleção de uma lista é alterada; Esses eventos podem ser tratados através da adição de um ListSelectionListener; A interface ListSelectionListener pertence ao pacote javax.swing.event e define apenas uma operação: void valuechanged(listselectionevent e) 32

ListSelectionListener Exemplo import javax.swing.*; import javax.swing.event.*; public class MeuListListener implements ListSelectionListener public void valuechanged(listselectionevent e) if(e.getvalueisadjusting()) return; JList lista=(jlist)e.getsource(); if(lista.isselectionempty()) else int index=lista.getselectedindex(); String val=(string)lista.getselectedvalue(); System.out.println(val); 33