Interfaces Gráficas em Java Parte 3
-
Upload
elaine-cecilia-gatto -
Category
Education
-
view
112 -
download
1
Transcript of Interfaces Gráficas em Java Parte 3
![Page 1: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/1.jpg)
INTERFACES GRÁFICAS SWING – PARTE 3
Prof.ª M.ª Elaine Cecília Gatto
![Page 2: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/2.jpg)
MENUS E SUBMENUS
![Page 3: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/3.jpg)
ASPECTOS BÁSICOS
• JMenuBar: um objeto que contém o menu de nível superior do aplicativo
• Jmenu: um menu é composto por um ou mais JMenuItens. É o menu padrão.
• JMenuItem: um objeto que preenche os menus
• JCheckBoxMenuItem: um item de menu de caixa de seleção
• JRadioButtonMenuItem: um item de menu de botão de rádio
![Page 4: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/4.jpg)
ASPECTOS BÁSICOS
• Para criar um menu principal para uma aplicação:
• Criar um objeto JMenuBar (container para menus)
• Um JMenu é adicionado a um JMenuBar
• Cada JMenu contem um ou mais itens selecionáveis
• JMenuItem define uma seleção que pode ser feita por umusuário e é o iten exibido por um JMenu
• JCheckBoxMenuItem e JRadioButtonMenuItem extendem eJMenuItem: menus padrão ou popup
![Page 5: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/5.jpg)
ASPECTOS BÁSICOS
• Todos os itens de menu são essencialmente botões poisestendem de AbstractButton
• Criando submenus:
• Criar e preencher um objeto Jmenu
• Depois adiciona-lo a outro objeto Jmenu
![Page 6: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/6.jpg)
ASPECTOS BÁSICOS
• Um evento de ação é gerado quando um item de menu éselecionado
• Examinando o comando de ação você pode determinar qualitem do menu foi selecionado
• Sistemas de menu tendem a ficar muito grandes, tomarcuidado ao programa-los
![Page 7: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/7.jpg)
JMENUBAR
• Conjunto mínimo para a construção de menus: JMENUBAR,
JMENU e JMENUITEM
• Container para menus
• Herda de Jcomponent
• Inicialmente a barra estará vazia.
• Deve ser preenchida com menus antes de usá-la
• Cada aplicação tem UMA E SOMENTE UMA barra de menus
![Page 8: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/8.jpg)
JMENUBAR
• Método add(): adiciona um menu à barra de menus:
Jmenu add(Jmenu menu)
• Menu é uma instancia de Jmenu que é adicionada à barra de
menus
• Menus são posicionados da esquerda para a direita na ordem de
adição
![Page 9: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/9.jpg)
JMENUBAR
• Para adicionar um menu em um local especifico usar
Component add (Component menu, int índice)
• Menu é adicionado no ÍNDICE especificado
• 0 é o valor inicial. Um menu com índice 0 fica na extrema
esquerda
![Page 10: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/10.jpg)
JMENUBAR
• Para remover um menu que não deseja mais:
remove (Component menu)
• Ou
remove (int índice)
• Menu é uma referencia ao menu que será removido.
• Índice é o valor do índice do menu que se quer remover
![Page 11: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/11.jpg)
JMENUBAR
• Para obter o numero de itens do menu
getMenuComponentCount()
• Para obter um array dos itens do menu
Component[] getMenuComponentes()
![Page 12: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/12.jpg)
JMENUITEM
• Encapsula um elemento de menu
• Elementos:
• Opção vinculada a alguma ação do programa (salvar ou
fechar)
• Pode fazer um submenu ser exibido
• Todo item de um menu pode ser considerado um tipo
especial de botão
![Page 13: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/13.jpg)
JMENUITEM
• Construtor: cria um item de menu com um nome
especifico:
JMenuItem (String nome)
• Ativar ou desativar um item de menu:
setEnable(boolean enable)
![Page 14: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/14.jpg)
MENU PRINCIPAL
• Definido pela barra de menus
• É o mais usado
• Cromo criar um menu principal:
• Criar um objeto jmenubar
• Construir cada menu que estará na barra
• Incluir itens (jmenuitem)
![Page 15: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/15.jpg)
MENU PRINCIPAL
• Cromo criar um menu principal:
• Adicionar os menus à barra de menus
• A barra de menus deve ser adicionada a um jframe
• Cada item de menu deve ter um ouvinte de ação e um
tratador de eventos
![Page 16: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/16.jpg)
MENU PRINCIPAL
• EXEMPLO:
• MenuDemo (menu estático)
• DayMenuDemo (menu dinâmico)
![Page 17: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/17.jpg)
TECLAS DE ATALHO
• Mnemônicos
• Define uma tecla cuja digitação permite a seleção de um item
em um menu ativo
• Aceleradores
• É uma tecla que permite a seleção de um item de menu sem
ser preciso ativar o menu antes
![Page 18: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/18.jpg)
TECLAS DE ATALHO
• Um mnemônico pode ser especificado quando um objeto for
construído:
JMenuItem(String nome, int mnem)
• Definir um mnemônico:
setMnemonic(int mnem)
![Page 19: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/19.jpg)
TECLAS DE ATALHO
• Int mnem:
• constantes definidas em java.awt.event.KeyEvent
• KeyEvent.VK_A
• KeyEvent.VK_B
• KeyEvent.VK_C
• ETC.
• Mnemônicos não diferenciam maiúsculas de minúsculas
![Page 20: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/20.jpg)
TECLAS DE ATALHO
• Padrão: primeira letra coincidente do item de menu serásublinhada
• Para sublinhar uma letra diferente: especificar o índice daletra como argumento em
setDisplayedMnemonicInfdex(int indice)
![Page 21: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/21.jpg)
TECLAS DE ATALHO
• Aceleradores
setAccelerator( KeyStroke ks )
• Ks é a combinação de teclas que é pressionada na seleçãodo item de menu
• KeyStroke é uma classe que contém métodos para aconstrução de vários tipos de aceleradores porpressionamento de teclas
![Page 22: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/22.jpg)
TECLAS DE ATALHO
getKeyStroke( int ch, int modificador )
• Ch especifica o caracteres acelerador e é um valor de tipo KEYEVENT
• Modificador deve ser uma ou mais das seguintes constantes• InputEvent.ALT_DOWN_MASK,
InputEvent.CTRL_DOWN_MASK, InputEvent.SHIFT_DOWN_MASK, InputEvent.ALT_GRAPH_DOWN_MASK, InputEvent.META_DOWN_MASK
![Page 23: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/23.jpg)
TECLAS DE ATALHO
• Tecla de caracteres: VK_A
• Modificador: INPUTEVENT.CTRL_DOWN_MASK
• RESULTADO: CTRL + A será o atalho
• Exemplo: MenuDemoMnem
![Page 24: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/24.jpg)
TECLAS DE ATALHO
• Tecla de caracteres: VK_A
• Modificador: INPUTEVENT.CTRL_DOWN_MASK
• RESULTADO: CTRL + A será o atalho
• Exemplo: MenuDemoMnem
• Usar ALT + tecla para selecionar o menu principal e CTRL + tecla para as opções do menu
![Page 25: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/25.jpg)
IMAGENS
• Uma imagem pode ser adicionada em um menu
JMenItem ( Icon imagem )
• Cria um item de menu que exibe a imagem especificada
JMenuItem ( String nome, Icon imagem )
• Cria um item de menu com o nome e a imagem especificados
![Page 26: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/26.jpg)
IMAGENS
• Um ícone pode ser adicionado a um item de menu, bastausar setIcon()
• ícone de desativação: é exibido quando o item de menuestiver inativo, basta usar setDisableIcon()
• Dica de ferramenta: um texto que aparece quando você parao mouse sobre ele: setToolTipoText (String dica).Exemplo: jmiSobre.setToolTipText(“Sobre esteprograma”);
![Page 27: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/27.jpg)
JCheckBoxMenuitem
• Podem otimizar seu aplicativo
• JCheckBoxMenuitem herda de JMenuItem
• Funciona como uma caixa de seleção autônoma
• Gera eventos de ação e um evento de item quando seu estadomuda
JCheckBoxMenuItem ( String nome )
• Constroi um item de menu de caixa de seleção com o nome especificado
![Page 28: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/28.jpg)
JCheckBoxMenuItem
• Constroi um item de menu de caixa de seleção com o nome eoestado de seleção especificado
JCheckBoxMenuItem ( String nome, boolean estado )
• Se estado for TRUE, a caixa estará marcada
![Page 29: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/29.jpg)
JRadioButtonMenuItem
• Funciona como um botão de rádio autônomo
• Gera eventos de item e ação
• Devem ser inseridos em um grupo de botões para exibirem umcomportamento de seleção mutuamente exclusivo
JRadioButtonMenuItem ( String nome )
• Cria um item de menu de botão de rádio associado ao nomeespecificado por nome
![Page 30: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/30.jpg)
JRadioButtonMenuItem
• Cria um item de menu de botão de rádio com o nome e o estadode seleção especificado
JRadioButtonMenuItem ( String nome, boolean estado )
• Se estado for igual a true, inicialmente o botão estarápressionado.
• Exemplo: MenuDemoReC
![Page 31: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/31.jpg)
JRadioButtonMenuItem
• Cria um item de menu de botão de rádio com o nome e o estadode seleção especificado
JRadioButtonMenuItem ( String nome, boolean estado )
• Se estado for igual a true, inicialmente o botão estarápressionado.
• Exemplo: MenuDemoReC
![Page 32: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/32.jpg)
CAIXAS DE DIÁLOGO
![Page 33: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/33.jpg)
INTRODUÇÃO
• Usado em situações em que é necessário vincular dois ou mais
desses controles como uma unidade para tratar operações de
entrada mais sofisticadas.
• É um janela separada que solicita algum tipo de resposta ao
usuário
![Page 34: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/34.jpg)
INTRODUÇÃO
• Contem pelo menos uma MENSAGEM e um BOTÃO
• Fornece uma maneira de organizar os componentes necessários
a situações de entrada complexas
• Fornece ao programa uma maneira de solicitar ao usuário a
entrada que precisa para prosseguir
![Page 35: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/35.jpg)
INTRODUÇÃO
• Exemplos:
• Uma caixa de diálogo para permitir selecionar a fonte, o tamanho
e o estilo do texto.
• Uma caixa de diálogo para pedir o nome de usuário e a senha e
esperar até que os dados sejam inseridos.
• Uma caixa de diálogo que permita configurar uma conexão de
modem.
![Page 36: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/36.jpg)
JOPTIONPANE
• É uma caixa de dialogo simples.
• Interage com o usuário e espera uma resposta.
• Exemplo: deseja sair do programa?
• Quatro tipos básicos:
• Mensagem
• Confirmação
• Entrada
• Opções
![Page 37: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/37.jpg)
JOPTIONPANE
• Mensagem:
• Exibe uma mensagem e espera até o usuário pressionar
o botão ok
• Forma de assegurar que o usuário está ciente de
algumas informações
• Exemplo: informar ao usuário que uma conexão de rede
foi perdida
![Page 38: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/38.jpg)
JOPTIONPANE
• Confirmação:
• Faz uma pergunta ao usuário e espera o usuário
escolher
• Normalmente usada quando uma ação deve ser
confirmada
• Exemplo: sair sem salvar?
![Page 39: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/39.jpg)
JOPTIONPANE
• Entrada:
• Permite que o usuário insira uma string ou selecione um
item de uma lista
• Exemplo: obter um nome do teclado
• OPÇÕES:
• Permite especificar uma lista de opções para o usuário
selecionar
![Page 40: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/40.jpg)
JOPTIONPANE
• JOPTIONPANE não deriva de JDIALOG
• JOPTIONPANE é um container para os componentes que
serão usados pelo diálogo
• JOPTIONPANE usa JDIALOG
• JOPTIONPANE constrói um objeto JDIALOG
automaticamente e se adiciona a esse objeto
![Page 41: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/41.jpg)
JOPTIONPANE
• JOPTIONPANE fornece uma maneira otimizada de criar e
gerenciar caixas de diálogos simples
• CAIXAS MODAIS:
• É uma caixa que demanda uma resposta antes do programa
continuar.
• Não é possível redirecionar o FOCO para outra parte do
aplicativo sem antes fechar esta janela.
• Interrompe o programa até o que o usuário responda
![Page 42: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/42.jpg)
JOPTIONPANE
• MODELESS:
• Caixas de diálogos não modais
• NÃO impede que outras partes do programa sejam
usadas
• O foco pode ser redirecionado para outra janelas
![Page 43: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/43.jpg)
JOPTIONPANE
• JOPTIONPANE dá suporte a duas categorias básicas de
métodos SHOW (mostrar)
• MAIS COMUM: Uma caixa de diálogo que usa JDIALOG
para conter o diálogo
• MENOS COMUM: Usa JINTERNALFRAME para conter o
diálogo
![Page 44: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/44.jpg)
JOPTIONPANE
• Quatro métodos FACTORY para criar caixas de diálogo
padrão baseadas em JDIALOG:
• showConfirmDialog()
• showInputDialog()
• showMessageDialog()
• showOptionDialog()
![Page 45: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/45.jpg)
SHOWMESSAGEDIALOG()
• Caixa de dialogo mais simples que pode se construída
• Exibe uma mensagem E espera o usuário apertar um botão
showMessageDialog(Component pai, Object msg);
• Pai = especifica o componente em relação ao qual a caixa de
diálogo será exibida
![Page 46: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/46.jpg)
SHOWMESSAGEDIALOG()
• Se pai = null: a caixa de diálogo é exibida no centro da tela.
• MSG = mensagem a ser exibida
• Exceção:
• HEADLESSEXCEPTION
• Ocorre se tentar exibir uma caixa de diálogo em um
ambiente não interativo (mouse ou teclado
desconectados)
![Page 47: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/47.jpg)
SHOWMESSAGEDIALOG()
• EXEMPLO: MsgDialogDemo
• Segunda forma de usar showMessageDialog()
showMessageDialog(Component pai, Object msg, String
titulo, int msg)
• titulo = especifica um título para a caixa de diálogo
• Msg = natureza da mensagem conforme tabela a seguir
![Page 48: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/48.jpg)
SHOWMESSAGEDIALOG()
• ERROR_MESSAGE: indica que uma mensagem de erro será exibida.
Ícone de erro.
• INFORMATION_MESSAGE: indica que uma mensagem informativa será
exibida. Mensagem padrão.
• PLAIN_MESSAGE: indica uma mensagem simples. Sem ícone.
• QUESTION_MESSAGE: indica que uma mensagem interrogativa será
exibida.
• WARNING_MESSAGE: indica que uma mensagem de aviso será exibida.
Ícone de aviso
![Page 49: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/49.jpg)
SHOWMESSAGEDIALOG()
• Terceira forma de usar showMessageDialog()
showMessageDialog(Component pai, Object msg, String
titulo, int msg, Icon imagem)
• Você pode especificar a imagem desejada para o ícone.
![Page 50: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/50.jpg)
SHOW CONFIRM DIALOG
• Solicita uma resposta básica SIM/NÃO ao usuário
showConfirmDialog(Component pai, Object msg);
• Pai = especifica o componente em relação ao qual a caixa de
diálogo será exibida. Se NULL então é exibida no centro
• MSG = mensagem
![Page 51: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/51.jpg)
SHOW CONFIRM DIALOG
• Exemplo: ConfirmDialogDemo
• OUTRAS FORMAS
• showConfirmDialog(Component pai, Object msg, String
titulo, int op);
• showConfirmDialog(Component pai, Object msg, String
titulo, int Opc, int iMsg);
• showConfirDialog(Component pai, Object msg, String
titulo, int Opc, int iMsg, Icon icon);
![Page 52: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/52.jpg)
SHOW CONFIRM DIALOG
• As opções são os botões que o usuário pode selecionar e
são definidos pelas constantes:
• OK_CANCEL_OPTION: inclui botões OK e CANCEL
• YES_NO_OPTION: inclui botões YES e NO
• YES_NO_CANCEL_OPTION: inclui botões YES, NO e
CANCEL
Lembre-se de tratar corretamente as ações!
![Page 53: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/53.jpg)
SHOW CONFIRM DIALOG
• iMsg deve ser uma das constantes a seguir
• ERROR_MESSAGE
• INFORMATION_MESSAGE
• PLAIN_MESSAGE
• QUESTION_MESSAGE
• WARNING_MESSAGE
• O ícone pode ser modificado por meio de ICON
![Page 54: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/54.jpg)
SHOW INPUT DIALOG
• O usuário pode inserir uma string
showInputDialog(Object msg);
• Retorna a string digitada pelo usuário em MSG quando se
pressiona OK
• Ao pressionar CANCELAR tudo é descartado
![Page 55: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/55.jpg)
SHOW INPUT DIALOG
• Exemplo
• OUTRAS FORMAS:
• showInputDialog(Object msg, Object valorInicial);
• showInputDialog(Component pai, Object msg);
• showInputDialog(Component pai, Object msg, Object
valorInicial);
![Page 56: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/56.jpg)
SHOW INPUT DIALOG
• OUTRAS FORMAS:
• showInputDialog(Component pai, Object msg, String titulo, int
iMsg);
• showInputDialog(Component pai, Object msg, String titulo, int
iMsg, Icon imagem, Object [ ] vals, Object valorInicial);
![Page 57: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/57.jpg)
SHOW INPUT DIALOG
• valorInicial: valor inicial a ser inserido no campo de texto
• Titulo: especifica o titulo
• iMsg: tipo de caixa de diálogo
• Icon: ícone
• VALS: conjunto de opções
![Page 58: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/58.jpg)
SHOW OPTION DIALOG
• Cria uma caixa de diálogo que contem elementos a serem
especificados, isto é, uma caixa personalizada
showOptionDialog(Component pai, Object msg, String titulo,
int op, int ims, Icon ícone, Object[] opções, Object
valorInicial);
![Page 59: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/59.jpg)
SHOW OPTION DIALOG
• O parâmetro opções somente será usado se OP for NULL
• Opções: DEFAULT_OPTION, OK_CANCEL_OPTION,
YES_NO_OPTION, YES_NO_CANCEL_OPTION
• Opções: contem as opções que serão exibidas na caixa de
diálogo
• Cada string do array passa a ser o nome de um botão que ao ser
pressionado retorna o índice e fecha a janela
![Page 60: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/60.jpg)
SHOW OPTION DIALOG
• Exemplo
• Não há controle sobre o layout, isto é, não sabemos como os
botões aparecerão na caixa de diálogo
• As opções personalizadas sobrepõem as opções padrão
• O formato das caixas de diálogo não mudam muito e bem
definidos, por isso são mais limitadas.
![Page 61: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/61.jpg)
JDIALOG
• Componentes podem ser adicionados a ele
• Gerenciador de layout é atributo a ele
• Um tamanho pode ser especificado
• setVisible() também é usado
• Uma barra de menus pode lhe ser dada
• Herda várias classes
• Caixas modais ou não modais
![Page 62: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/62.jpg)
JDIALOG
Jdialog(Frame pai, String titulo, boolean modal)
• Cria uma caixa de diálogo cujo proprietário é especificado
por pai
• Se modal for TRUE, a caixa será modal
• O titulo da caixa é especificado por titulo
![Page 63: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/63.jpg)
JDIALOG
• Para criar e exibir uma caixa de diálogo criada por JDIALOG
• Criar um objeto JDIALOG
• Especificar o gerenciador de layout
• Especificar o tamanho
• Especificar a forma de fechamento padrão
• Adicionar componentes ao painel de conteúdo na caixa
• Exibir a caixa
![Page 64: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/64.jpg)
JDIALOG
• setVisible(false): remove uma caixa de dialogo. Use este
recurso quando precisar usar a caixa com frequência no
aplicativo. Apenas remove a caixa da tela.
• dispose(): quando for usar poucas vezes. Libera todos os
recursos associados a caixa
• Exemplo:
![Page 65: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/65.jpg)
JDIALOG
• Caixa não modal
Jdialog(Frame pai, String titulo)
• EXEMPLO: JDialogDemoNaoModal
![Page 66: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/66.jpg)
JFILECHOOSER
• É uma caixa de diálogo interna
• Automatiza uma janela de seleção de arquivos
• É consistente e eficiente
JFileChooser();
• Exibe o diretório padrão
![Page 67: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/67.jpg)
JFILECHOOSER
JFileChooser(File dir)
JFileChosser(String dir)
• Exibe o diretório especificado por DIR
• Se DIR = NULL então o diretório padrão será usado
![Page 68: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/68.jpg)
JFILECHOOSER
• Métodos para exibir JFilechooser
• showOpenDialog(Component pai): Open dialog exibe
a caixa de diálogo padrão OPEN
• showSaveDialog(Component pai): exibe a caixa de
dialogo padrão SAVE
• showDialog(Component pai, String nome): especifica
um titulo e um nome de botão personalizado
![Page 69: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/69.jpg)
JFILECHOOSER
• Todos os métodos retornam um inteiro que indica o
resultado do processo de seleção de arquivo
• APPROVE_OPTION: arquivo selecionado
• CANCEL_OPTION: usuário cancelou a ação
• ERROR_OPTION: erro encontrado
![Page 70: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/70.jpg)
JFILECHOOSER
• Se retornar APPROVE_OPTION não significa que o arquivo
exista ou o nome seja válido
• Método que retorna um objeto FILE e representa o arquivo
selecionado:
getSelectedFile()
• Dentre outros métodos aprendidos em arquivos
![Page 71: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/71.jpg)
JFILECHOOSER
• Diretórios são tipos especiais de arquivos
• Exemplo:
• JFileChooser
• FileChooserDemo
• JavaFilefilter
![Page 72: Interfaces Gráficas em Java Parte 3](https://reader033.fdocumentos.tips/reader033/viewer/2022051123/5a64fa6a7f8b9ad5198b47c1/html5/thumbnails/72.jpg)
EXERCÍCIOS