![Page 2: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/2.jpg)
Auladehoje• CriaçãodeinterfacegráficaviabibliotecaSwing
– Containers– Componentes– Menu– Layout– Bordas– Eventos
Leonardo Murta Interface Gráfica Swing 2
![Page 3: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/3.jpg)
PacotesdoSwing• AsclassesdoSwingestãodistribuídaspordiversospacotes.Osprincipaispacotessão:– javax.swing.*– javax.swing.event.*
• AlgumasclassesdospacotesanNgasdaAWTtambémsãouNlizadospeloSwing:– importjava.awt.*– importjava.awt.event.*
Leonardo Murta Interface Gráfica Swing 3
![Page 4: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/4.jpg)
ComponenteseContainers
Leonardo Murta Interface Gráfica Swing 4
![Page 5: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/5.jpg)
ComponenteseContainers• Ainterfacecomousuárioéorientadaajanelas
– Oselementosdeinterfacecomousuáriosãoclassificadoscomojanelas,containersecomponentes
– Asjanelassãoabasedainterfacecomousuário,contendoosdemaiselementos
– Oscontainerssãogruposdecomponentes,apresentadosemumaregiãodeteladefinida
– Oscomponentessãoosprincipaiselementosdeinterface,sendouNlizadosdiretamentepelousuário
Leonardo Murta Interface Gráfica Swing 5
![Page 6: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/6.jpg)
ComponenteseContainers
Leonardo Murta Interface Gráfica Swing 6
Janela
Containers
Componentes
![Page 7: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/7.jpg)
ComponenteseContainers• Ajanela(JFrame)éocontainerdemaisaltonível
– AjanelaexisteparaproverespaçoparaapresentaçãodoscomponentesSwing
• Opainel(JPanel)éumcontainerintermediário– Ospainéisexistemparacontrolaroposicionamentodoscomponentes
• Componentesatômicos,comobotões(JBuZon)elinhasdeedição(JTextField),realizamainteraçãocomousuáriopropriamentedita
Leonardo Murta Interface Gráfica Swing 7
![Page 8: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/8.jpg)
Janelas-JFrame• AclasseJFramerepresentaumajanelaSwing
– Seuconstrutorpodereceberumastringcomo\tulodajanela
– Todajanelapossuiumpainelinvisível(ContentPane)– Oscomponentesdajanelasãoinseridosnestepainel– Ajanelapodeconterumabarrademenu
Leonardo Murta Interface Gráfica Swing 8
JFrame frame = new JFrame(“Alo, Mundo”); frame.getContentPane().add (new JButton (“Teste”));
![Page 9: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/9.jpg)
PainéisIntermediários-JPanel• AclasseJPanelrepresentaumpainelsimples
– JPaneléocontainerintermediáriomaissimples– Opainelpodeserinseridoemumajanelaououtropainel
– Ométodoadd()insereopainelnajanela
Leonardo Murta Interface Gráfica Swing 9
JFrame frame; JPanel painel; frame = new JFrame(“Alo, Mundo”); painel = new JPanel (); frame.getContentPane().add (painel);
![Page 10: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/10.jpg)
OutrosPainéisIntermediários• Swingpossuioutrospainéisintermediários:
Leonardo Murta Interface Gráfica Swing 10
JScrollPane JSplitPane JTabbedPane
JToolBar
![Page 11: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/11.jpg)
Componentes• OscomponentesSwingherdamdaclasseJComponent
• Estaclasseoferecerecursosparaodesenvolvedordeaplicaçõescominterfacegráfica– Textosdeajuda– Bordas– Tratamentodeeventos– Outrosmétodosdesuporte
Leonardo Murta Interface Gráfica Swing 11
![Page 12: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/12.jpg)
TextodeAjuda• OscomponentesSwingsuportamtextosdeajuda
– OmétodosetToolTipText()indicaotextodeajudadeumcomponente
– EstemétodorecebeumaStringcomotextodeajudacomoumparâmetro
– Otextodeajudaéapresentadoquandoousuárioparaocursordomousesobreocomponente
Leonardo Murta Interface Gráfica Swing 12
![Page 13: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/13.jpg)
MétodosdeSuporte• Visualizaçãoeacessoaocomponente
– OmétodosetEnabled()recebeumbooleanoquepermitequeodesenvolvedorhabiliteouinabiliteumcomponente
– OmétodoisEnabled()determinaseumcomponenteestáhabilitadoouinabilitado,retornandoumbooleano
– OmétodosetVisible()recebeumbooleanoquepermitequeodesenvolvedorapresenteouescondaumcomponente
– OmétodoisVisible()determinaseumcomponenteestávisível,retornandoumbooleano
Leonardo Murta Interface Gráfica Swing 13
![Page 14: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/14.jpg)
MétodosdeSuporte• Fonteecursordocomponente
– OmétodosetFont()alteraafontedecaracteresdeumcomponenteparaafonterecebidacomoparâmetro
– OmétodogetFont()retornaafontedecaracteressendouNlizadaporumcomponente
– OmétodosetCursor()alteraocursordemouseuNlizadoporumcomponenteparaocursorrecebidocomoparâmetro
– OmétodogetCursor()retornaocursordemousesendouNlizadoporumcomponente
Leonardo Murta Interface Gráfica Swing 14
![Page 15: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/15.jpg)
MétodosdeSuporte• Tamanhoeposiçãodocomponente:
– OmétodogetWidth()retornaalarguradocomponenteemnúmerodepontos
– OmétodogetHeight()retornaaalturadocomponenteemnúmerodepontos
– OmétodogetSize()retornaasdimensõesdocomponenteemumobjetodaclasseDimension
– OmétodogetBounds()retornaaáreaocupadaporumcomponenteemumobjetodaclasseRectangle
Leonardo Murta Interface Gráfica Swing 15
![Page 16: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/16.jpg)
Componentes-Exemplo• Exemplodetrechodecódigo:
Leonardo Murta Interface Gráfica Swing 16
JButton botao = new JButton (); botao.setToolTipText (“Texto de ajuda do botão”); botao.setEnabled (true); boolean visivel = botao.isVisible();
![Page 17: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/17.jpg)
Botões• SwingpossuidiversosNposdebotões
– JBuZon:botãosimples
– JCheckBox:caixadeseleção– JRadioBuZon:caixadeseleçãocommúlNplasopções
• OsbotõespossuemversõesuNlizadasemmenus– JMenuItem:itemdemenu
– JCheckBoxMenuItem:caixadeseleçãoparamenus
– JRadioBuZonMenuItem:caixadeseleçãomúlNplaparamenus
Leonardo Murta Interface Gráfica Swing 17
![Page 18: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/18.jpg)
Botões• CaracterísNcasdosbotõesSwing
– Apresentamtextoeimagens– PodempossuirummnemônicouNlizadocomohotkey– Controlamoposicionamentodo\tulodobotão
Leonardo Murta Interface Gráfica Swing 18
ImageIcon icone = new ImageIcon("images/right.gif"); JButton b1 = new JButton (“Teste”, icone); b1.setVerticalTextPosition (AbstractButton.CENTER); b1.setHorizontalTextPosition (AbstractButton.LEFT); b1.setMnemonic(KeyEvent.VK_D);
![Page 19: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/19.jpg)
CaixasdeSeleção-JCheckBox• PossuemascaracterísNcasdeumbotãogenérico
– OmétodogetSelected()determinaseocheckboxfoiselecionadopelousuário
– OmétodosetSelected()selecionaoudeselecionaocheckbox,deacordocomseuparâmetrobooleano
Leonardo Murta Interface Gráfica Swing 19
![Page 20: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/20.jpg)
CaixasdeSeleção-JRadioBuZon• RadiobuZonssãocriadosemgrupos
– Somenteumbotãodeumgrupopodeestarselecionadoemumdeterminadoinstante
– AclasseBuFonGrouppermiteacriaçãodegruposdebotões
Leonardo Murta Interface Gráfica Swing 20
![Page 21: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/21.jpg)
CaixasdeSeleção-JRadioBuZon• Exemplodetrechodecódigo:
Leonardo Murta Interface Gráfica Swing 21
JRadioButton birdButton = new JRadioButton(“Bird”); JRadioButton catButton = new JRadioButton(“Cat”); JRadioButton dogButton = new JRadioButton(“Dog”); ButtonGroup group = new ButtonGroup(); group.add(birdButton); group.add(catButton); group.add(dogButton); birdButton.setSelected(true);
![Page 22: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/22.jpg)
ComboBoxes• Comboboxespermitemaseleçãodeumitemdeumalista,ocupandoumespaçodelimitadodajanela– Apenasumitemestáselecionadoemcadainstante– AcomboboxpodeserinicializadacomumarrayoucomumconjuntodeStrings
Leonardo Murta Interface Gráfica Swing 22
![Page 23: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/23.jpg)
ComboBoxes• Acessoaosdados
– OmétodosetSelectedIndex()alteraoitemselecionado,indicandooíndicedonovoitemnalistadeopções
– OmétodogetSelectedIndex()retornaoíndicedoitemselecionadonalistadeopções
Leonardo Murta Interface Gráfica Swing 23
String[] pets = { "Bird", "Cat", "Dog", "Rabbit", "Pig" }; JComboBox petList = new JComboBox (pets); petList.setSelectedIndex(4);
![Page 24: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/24.jpg)
ComboBoxes• Comboboxespodemsereditáveis
– OmétodosetEditable()alteraomododeediçãodeumacomboboxdeacordocomseuparâmetrobooleano
– OmétodogetSelectedItem()retornaoitemselecionadonacomboboxouotextodigitadopelousuário
Leonardo Murta Interface Gráfica Swing 24
![Page 25: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/25.jpg)
ComboBoxes• Modelos
– Umacomboboxpodeserinicializadacomummodelo– Omodelopermiteaatualizaçãodositensdacombo– Oprogramapodeinserireremoveritensduranteaexecução
– OmétodosetModel()alteraomodelodeumacombobox
• DefaultComboModel– OmodeloérepresentadopelainterfaceComboModel– AclasseDefaultComboModelimplementaainterface– Aclassepossuimétodosparainserçãoeremoçãodeitens
Leonardo Murta Interface Gráfica Swing 25
![Page 26: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/26.jpg)
ComboBoxes• AlgunsmétodosdaDefaultComboModel
– OmétodoinsertItemAt()insereoitemrecebidocomoparâmetroemumadeterminadaposiçãodacombo
– OmétodoaddItem()insereumnovoitemaofimdacombo– OmétodoremoveAllItems()removetodosositensdacombo
– OmétodoremoveItem()removedacombooitemrecebidocomoparâmetro
– OmétodogetItemCount()retornaonúmerodeitensdacombo
Leonardo Murta Interface Gráfica Swing 26
![Page 27: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/27.jpg)
ComboBoxes• Exemplodetrechodecódigo:
Leonardo Murta Interface Gráfica Swing 27
DefaultComboModel modelo = new DefaultComboModel (); modelo.addElement (”Item 1"); modelo.addElement ("Item 2"); modelo.addElement ("Item 3"); modelo.addElement ("Item 4"); JComboBox combo = new JComboBox (modelo); modelo.addElement (“Item 5”);
![Page 28: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/28.jpg)
Listas• Listasapresentamdiversositensaomesmotempo
– Comonacombobox,alistapodeserinicializadacomumvetor,umalistadestringsouummodelo(DefaultListModel)
Leonardo Murta Interface Gráfica Swing 28
![Page 29: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/29.jpg)
Listas• Listaspermitemdiversosmodosdeseleçãodeitens
– OmétodosetSelecNonMode()alteraomododeseleçãodositensdeumalista
• SINGLE_SELECTION• SINGLE_INTERVAL_SELECTION• MULTIPLE_INTERVAL_SELECTION
Leonardo Murta Interface Gráfica Swing 29
![Page 30: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/30.jpg)
Listas• Listasdevemserinseridasempainéisderolamento
Leonardo Murta Interface Gráfica Swing 30
String[] pessoas = { “Eu”, “Você”, “Ele”, “Ela”}; JList lista = new JList (pessoas); lista.setSelectionMode (ListSelectionModel.SINGLE_SELECTION); JScrollPane scroll= new JScrollPane (lista); painel.add(scroll);
![Page 31: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/31.jpg)
Linhas/ÁreasdeTexto• Permitemaediçãodetextos
– Oconstrutordalinhadeediçãoindicaseutamanhodesejado– Oconstrutornãolimitaotamanhodotextoeditado– OmétodosetText()alteraotextoemediçãonalinha– OmétodogetText()retornaotextoeditadopelousuário
Leonardo Murta Interface Gráfica Swing 31
![Page 32: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/32.jpg)
Linhas/ÁreasdeTexto• Exemplodetrechodecódigo
Leonardo Murta Interface Gráfica Swing 32
JTextField linha = new JTextField (20); linha.setText (“Alo, Mundo !”); linha.selectAll (); JTextArea area = new JTextArea (5, 20); area.setText (“Testando 1, 2, 3”); JScrollPane scroll= new JScrollPane (area); painel.add(scroll);
Linha de texto simples
Área de texto com múltiplas linhas
Áreas de texto são inseridas em painéis
![Page 33: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/33.jpg)
Linhas/ÁreasdeTexto• Métodosdesuporte
– OmétodosetEditable()indicasealinhadetextoéeditávelouread-only,deacordocomseuparâmetrobooleano
– OmétodoisEditable()determinasealinhadetextoéeditávelouread-only,retornandoumbooleano
– OmétodosetHorizontalAlignment()indicacomootextoéalinhadonalinhadeedição
• JTextField.LEFT• JTextField.CENTER• JTextField.RIGHT
Leonardo Murta Interface Gráfica Swing 33
![Page 34: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/34.jpg)
Rótulos• Rótulospermitemaapresentaçãodetextoseimagens– OsmétodosgetText()esetText()permitemconsultarealterarotextodeumrótulo
– OsmétodosgetIcon()esetIcon()permitemconsultarealteraraimagemapresentadanorótulo
Leonardo Murta Interface Gráfica Swing 34
![Page 35: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/35.jpg)
Rótulos• Exemplodetrechodecódigo:
Leonardo Murta Interface Gráfica Swing 35
ImageIcon icon = new ImageIcon (”boom.gif"); JLabel label1 = new JLabel ("Image and Text", icon, JLabel.CENTER); label1.setVerticalTextPosition (JLabel.BOTTOM); label1.setHorizontalTextPosition (JLabel.CENTER); painel.add (label1); label2 = new JLabel ("Text-Only Label"); painel.add (label2); label3 = new JLabel (icon); painel.add (label3);
Alinhamento do texto
![Page 36: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/36.jpg)
OutrosComponentes• Swingofereceumasériedeoutroscomponentes
Leonardo Murta Interface Gráfica Swing 36
JSlider
JProgressBar JTree
JTable
JColorChooser
JFileChooser
![Page 37: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/37.jpg)
Menus
Leonardo Murta Interface Gráfica Swing 37
![Page 38: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/38.jpg)
MenusemBarra• Exemplodetrechodecódigo
Leonardo Murta Interface Gráfica Swing 38
JMenuBar menuBar = new JMenuBar(); frame.setJMenuBar(menuBar); JMenu menu = new JMenu ("Menu"); menuBar.add (menu); JMenuItem menuItem = new JMenuItem (”Item de Menu", KeyEvent.VK_T); menu.add(menuItem);
![Page 39: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/39.jpg)
ItensdeMenu• Podemserinicializadosdediversasformas
Leonardo Murta Interface Gráfica Swing 39
menu.add(new JMenuItem (titulo, letra_chave)); menu.add(new JMenuItem (titulo, icone)); menu.add(new JMenuItem (icone)); menu.addSeparator ();
![Page 40: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/40.jpg)
ItensdeMenu-RadioBuZons
Leonardo Murta Interface Gráfica Swing 40
ButtonGroup group = new ButtonGroup(); rbMenuItem = new JRadioButtonMenuItem("A Radio button menu item"); rbMenuItem.setSelected(true); menu.add (rbMenuItem); group.add (rbMenuItem); rbMenuItem = new JRadioButtonMenuItem ("Another One"); menu.add(rbMenuItem); group.add(rbMenuItem);
![Page 41: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/41.jpg)
ItensdeMenu-CheckBoxes
Leonardo Murta Interface Gráfica Swing 41
cbMenuItem = new JCheckBoxMenuItem ("A check box menu item"); cbMenuItem.setMnemonic (KeyEvent.VK_C); menu.add (cbMenuItem); cbMenuItem = new JCheckBoxMenuItem ("Another one"); cbMenuItem.setMnemonic (KeyEvent.VK_H); menu.add (cbMenuItem);
![Page 42: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/42.jpg)
ItensdeMenu-Submenus
Leonardo Murta Interface Gráfica Swing 42
submenu = new JMenu ("A submenu"); menu.add (submenu); menuItem = new JMenuItem ("An item in the submenu"); submenu.add (menuItem); menuItem = new JMenuItem ("Another item"); submenu.add (menuItem);
![Page 43: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/43.jpg)
Layout
Leonardo Murta Interface Gráfica Swing 43
![Page 44: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/44.jpg)
PosicionamentodeComponentes• Aindependênciadeplataformageraalgunsproblemas
– AlgunscontrolesocupamáreasdeteladiferentesemplataformasdisNntas
– Exemplo:umalinhadeediçãodetextoocupaumaáreadetelamenornoWindowsquenoX-Windows
– Problema:comoposicionaroscontrolesnajanelalevandoemcontaotamanhodiferenteemcadaplataforma?
Leonardo Murta Interface Gráfica Swing 44
![Page 45: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/45.jpg)
LayoutManagers• Solução:controladoresdeposicionamento
– Cadacontainerindicaseucontroladordeposicionamento– Oscontrolessãoinseridosnocontainersemposição– Ocontroladordeposicionamentoajustaaposiçãoetamanhodoscontroles,deacordocomascaracterísNcasdaplataforma
Leonardo Murta Interface Gráfica Swing 45
![Page 46: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/46.jpg)
LayoutManagers• Ocontroledeposicionamentodeterminaotamanhoeaposiçãodoscomponentesdeumpainel– Todososcontainerspossuemumlayoutmanager– Olayoutmanageréumobjetoresponsávelporposicionaredeterminarotamanhodoscomponentesdocontainer
– Oscomponentespodemindicarseustamanhoseposiçõesdesejadas,masolayoutmanagerdecidesobresuasdimensõesfinaisemcadacontainer
Leonardo Murta Interface Gráfica Swing 46
![Page 47: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/47.jpg)
LayoutManagers• SemprequeodesenvolvedoruNlizarométodoadd()deumcontainer,olayoutmanagerdeveserconsiderado– Algunslayoutmanagersexigemaespecificaçãodeumsegundoparâmetronométodoadd()
– Osegundoparâmetrotrazinformaçõessobreaposiçãodocomponenteinserido
– Porexemplo,olayoutmanagerBorderLayoutexigequeodesenvolvedorespecifiqueaposiçãorelaNvadeseuscomponentes.
Leonardo Murta Interface Gráfica Swing 47
![Page 48: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/48.jpg)
Indicandoolayoutmanagerdeumpainel
• OmétodosetLayout()deumpainelpermitealterarseulayoutmanager,queépassadocomoparâmetro
Leonardo Murta Interface Gráfica Swing 48
JPanel painel = new JPanel();
painel.setLayout (new BorderLayout ());
![Page 49: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/49.jpg)
Tamanhodesejadopeloscomponentes
• Umcomponentepodeindicarsuasdimensõesparaseuslayoutmanagers– OmétodosetMinimumSize()indicaotamanhomínimodocomponente
– OmétodosetMaximumSize()indicaotamanhomáximodocomponente
– OmétodosetPreferredSize()indicaotamanhodesejadopelocomponente
– Odesenvolvedorpodechamarestesmétodosapóscriarseuscomponentes
Leonardo Murta Interface Gráfica Swing 49
![Page 50: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/50.jpg)
LayoutManagers-FlowLayout• Componentessãoorganizadosemlinhas
– Cadacomponenteocupaoseutamanhodesejado– Seoespaçohorizontalnãoforsuficienteparatodososcomponentes,olayoutmanageruNlizadiversaslinhas
– Dentrodeumalinha,odesenvolvedorpodeespecificaroalinhamentodoscomponentes
Leonardo Murta Interface Gráfica Swing 50
![Page 51: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/51.jpg)
LayoutManager-FlowLayout• Exemplodetrechodecódigo:
Leonardo Murta Interface Gráfica Swing 51
Container painel = frame.getContentPane(); painel.setLayout (new FlowLayout ()); painel.add (new JButton ("Button 1")); painel.add (new JButton ("Button 2")); painel.add (new JButton ("Button 3"));
![Page 52: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/52.jpg)
LayoutManagers-BorderLayout• Componentessãoorganizadosnasbordasdocontainer– Quandoumcomponenteéinserido,ométodoadd()deverecebersuaposiçãorelaNvanocontainer
Leonardo Murta Interface Gráfica Swing 52
![Page 53: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/53.jpg)
LayoutManager-BorderLayout• Exemplodetrechodecódigo
Leonardo Murta Interface Gráfica Swing 53
Container painel = frame.getContentPane(); painel.setLayout (new BorderLayout ()); painel.add (new JButton ("Button 1"), BorderLayout.NORTH); painel.add (new JButton ("Button 2"), BorderLayout.CENTER); painel.add (new JButton ("Button 3"), BorderLayout.WEST); painel.add (new JButton ("Button 4"), BorderLayout.SOUTH); painel.add (new JButton ("Button 5"), BorderLayout.EAST);
![Page 54: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/54.jpg)
LayoutManagers-GridLayout• Componentessãoorganizadosemumagrade
– Cadacomponenteocupaumacéluladagrade– Todasascélulaspossuemomesmotamanho– Otamanhodascélulasédeterminadopeloespaçoocupadopelocontainer
Leonardo Murta Interface Gráfica Swing 54
![Page 55: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/55.jpg)
LayoutManager-GridLayout• Exemplodetrechodecódigo:
Leonardo Murta Interface Gráfica Swing 55
Container painel = frame.getContentPane(); painel.setLayout(new GridLayout(0,2)); painel.add(new JButton("Button 1")); painel.add(new JButton(”Button 2")); painel.add(new JButton("Button 3"));
2 colunas e quantas linhas forem necessárias
![Page 56: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/56.jpg)
Comooposicionamentoérealizado?
• Depoisdeinseriroscomponentesdeumajanela,odesenvolvedordevechamarométodopack() – Olayoutmanagercalculaotamanhodesejadodajanela,somandootamanhodesuasbordasaotamanhopreferidodoscomponentesinseridosdiretamentenajanela.
Leonardo Murta Interface Gráfica Swing 56
![Page 57: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/57.jpg)
Bordas
Leonardo Murta Interface Gráfica Swing 57
![Page 58: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/58.jpg)
Bordas• OmétodosetBorder()indicaabordadocomponente– SwingdefineumafábricaquedeveseruNlizadaparacriarasbordasdoscomponentes
Leonardo Murta Interface Gráfica Swing 58
JPanel panel = new JPanel(); panel.setBorder(BorderFactory.createLineBorder (Color.black));
![Page 59: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/59.jpg)
BordasSimples
Leonardo Murta Interface Gráfica Swing 59
➤ Representam os tipos mais simples de bordas
![Page 60: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/60.jpg)
BordasSimples• ExemplodecriaçãodasbordasaparNrdafábrica
Leonardo Murta Interface Gráfica Swing 60
comp1.setBorder (BorderFactory.createLineBorder(Color.black);
comp2.setBorder (BorderFactory.createRaisedBevelBorder());
comp3.setBorder (BorderFactory.createEtchedBorder());
comp4.setBorder (BorderFactory.createLoweredBevelBorder());
comp5.setBorder (BorderFactory.createEmptyBorder());
![Page 61: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/61.jpg)
BordascomTítulos
Leonardo Murta Interface Gráfica Swing 61
➤ Bordas com título são bordas simples que apresentam títulos. Se nenhuma borda for especificada junto ao título, o look & feel utiliza uma borda default.
![Page 62: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/62.jpg)
BordascomTítulos• Exemplodecriaçãodebordasde\tulo
Leonardo Murta Interface Gráfica Swing 62
comp9.setBorder (BorderFactory.createTitledBorder(“teste"));
... Border linha = BorderFactory.createLineBorder (Color.black); TitledBorder titulo = BorderFactory.createTitledBorder (linha, ”teste"); titulo.setTitleJustification (TitledBorder.CENTER); titulo.setTitlePosition (TitledBorder. BOTTOM); comp10.setBorder (titulo);
![Page 63: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/63.jpg)
TratamentodeEventos
Leonardo Murta Interface Gráfica Swing 63
![Page 64: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/64.jpg)
Eventos• Controlesgerameventos
– Umeventoindicaaocorrênciadeumaatuaçãodousuáriosobreocontroleoualgumamudançainternaqueoafete
– Exemplos:cliquedeumbotão,movimentodomouse,alteraçãodoconteúdodeumalinhadeedição,...
• Respostaaeventos– Odesenvolvedordeveprogramarsuaaplicaçãopararesponderaoseventosgeradossobreseuscomponentes
– QualquerobjetopoderesponderaeventosLeonardo Murta Interface Gráfica Swing 64
![Page 65: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/65.jpg)
RespondendoaEventos• Umobjetopodeseregistrarpara“escutar”eventos
– Oobjetodeveimplementarumainterfaceespecífica– Oobjetodeveseregistrarnocomponente– Diversosobjetospodemserregistradosparaomesmoevento
– UmmesmoobjetopodetratardiversoseventosdisNntos
• Cadaeventoérepresentadoporumobjeto– Oobjetopossuiinformaçõessobreoevento– OobjetoidenNficaocomponentegeradordoevento
Leonardo Murta Interface Gráfica Swing 65
![Page 66: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/66.jpg)
PrincipaisEventosesuasInterfacesAção do usuário
Clicar um botão
Pressionar Enter em uma linha de texto
Selecionar um item de menu
Fechar uma janela
Pressionar um botão do mouse
Mover o mouse
Componente sendo apresentado
Componente ganha o foco do teclado
Seleção de um item em uma lista
Interface
ActionListener
ActionListener
ActionListener
WindowListener
MouseListener
MouseMotionListener
ComponentListener
FocusListener
ListSelectionListener
Leonardo Murta Interface Gráfica Swing 66
![Page 67: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/67.jpg)
TratamentodeEventos• Exemplodetrechodecódigo
Leonardo Murta Interface Gráfica Swing 67
... JButton botao = new JButton (“Botao Qualquer”); botao.addActionListener (new Tratador ()); ... class Tratador implements ActionListener {
public void actionPerformed (ActionEvent e) {
System.out.println(“Houve um clique no botao”); }
}
![Page 68: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/68.jpg)
EventosdeAção• InterfaceAcNonListener
– Geradosporbotões,menuseEnteremlinhasdeedição
– RegistradaatravésdométodoaddAcNonListener()– Ainterfacepossuiumúnicométodo,acNonPerformed()
– OmétodorecebeumobjetodaclasseAcNonEvent
Leonardo Murta Interface Gráfica Swing 68
![Page 69: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/69.jpg)
EventosdeTeclado• InterfaceKeyListener
– Eventodepressionamentoeliberaçãodeteclas– Eventossãogeradospelocomponentecomofoco– RegistradanocomponentepelométodoaddKeyListener
– Abaixo,sãoapresentadososmétodosdainterface
Leonardo Murta Interface Gráfica Swing 69
public void keyTyped (KeyEvent e);
public void keyPressed (KeyEvent e); public void keyReleased (KeyEvent e);
![Page 70: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/70.jpg)
EventosdeTeclado• ClasseKeyEvent
– Informaçõesadicionaisdoseventosdeteclado– OmétodogetKeyChar()retornaocaracteredateclaassociadacomoevento
– OmétodogetKeyCode()retornaocódigo(Unicode)dateclaassociadacomoevento
– AclasseKeyEventdefinediversasconstantesdecódigoreferentesàsteclasassociadascomoevento
– AsconstantessãoiniciadasporVK(VK_A,VK_ESCAPE)Leonardo Murta Interface Gráfica Swing 70
![Page 71: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/71.jpg)
EventosdeMouse• InterfaceMouseListener
– Eventosdecliqueeliberaçãodosbotõesdomouse– Eventosdeentradaesaídadomousedeumcomponente– RegistradanocomponenteatravésdeaddMouseListener()– Abaixo,sãoapresentadososmétodosdainterface
Leonardo Murta Interface Gráfica Swing 71
public void mousePressed (MouseEvent e); public void mouseReleased (MouseEvent e); public void mouseEntered (MouseEvent e); public void mouseExited (MouseEvent e); public void mouseClicked (MouseEvent e);
![Page 72: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/72.jpg)
EventosdeMouse• ClasseMouseEvent
– Representaosdadoscomplementaresdoeventodemouse
– OmétodogetClickCount()retornaonúmerodecliquesconsecuNvosrealizadospelousuário
– OsmétodosgetX(),getY()egetPoint()retornamaposiçãodomouse,relaNvaaocomponenteafetadopeloevento
– OmétodogetComponent()retornaocomponenteafetadopeloevento
Leonardo Murta Interface Gráfica Swing 72
![Page 73: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/73.jpg)
EventosdeMouse• InterfaceMouseMoNonListener
– Eventosdemovimentoearrastamentodomouse– RegistradaatravésdométodoaddMouseMoNonListener()
– Abaixo,sãoapresentadososmétodosdainterface– OsmétodosuNlizamobjetosdaclasseMouseEvent
Leonardo Murta Interface Gráfica Swing 73
public void mouseMoved (MouseEvent e); public void mouseDragged (MouseEvent e);
![Page 74: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/74.jpg)
EventosdeSeleçãodeItem• InterfaceItemListener
– UNlizadoporcheckboxesecombosboxes– RegistradaatravésdométodoaddItemListener()– AinterfacepossuiométodoitemStateChanged()– OmétodorecebeumobjetodaclasseItemEvent– AclasseItemEventpossuidiversosmétodos
• getItem()queretornaoitemselecionadooudeselecionado
• getStateChange()determinaoNpodoevento,quepodeserItemEvent.SELECTEDouItemEvent.DESELECTED
Leonardo Murta Interface Gráfica Swing 74
![Page 75: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/75.jpg)
EventosdeJanela• InterfaceWindowListener
– Eventosdeabertura,fechamento,aNvação,desaNvaçãominimizaçãoerestauraçãodejanelasoudiálogos
– RecebemumobjetodaclasseWindowEvent,quepossuiométodogetWindow(),queretornaajaneladoevento
Leonardo Murta Interface Gráfica Swing 75
void windowOpened (WindowEvent); void windowClosing (WindowEvent); void windowClosed (WindowEvent); void windowIconified (WindowEvent); void windowDeiconified (WindowEvent); void windowActivated (WindowEvent); void windowDeactivated (WindowEvent);
![Page 76: Interface Gráfica Swing - Instituto de Computação - UFFleomurta/courses/poo/aula11.pdf• A interface com o usuário é orientada a janelas – Os elementos de interface com o](https://reader033.vdocuments.us/reader033/viewer/2022060821/609a2d21fc4c707a9240c388/html5/thumbnails/76.jpg)
Exercício• Façaumaagendatelefônicaquepermitaadicionar,removereatualizarcontatosusandoosconceitosvistosemaula
Leonardo Murta Interface Gráfica Swing 76