Marcelo Henrique dos Santos

Documentos relacionados
Java First-Tier: Aplicações. Construção de Interfaces com Swing (II) Lista de Opções. Classe JList. Modos de Seleção.

Ivo Augusto Fontana Bertoncello Marcelo de Oliveira Dias

CAIXAS DE DIÁLOGO COM JOPTIONPANE

Modulo I Swing Básico

Introdução à Tecnologia Java 02/2012. Java Aula 04 MDI. 05/09/2012 Celso Olivete Júnior.

Objetivos do Capítulo

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

Programação de Computadores - I. Profª Beatriz Profº Israel

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

Abstract Window Toolkit (AWT) Peer based

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Entrada e Saída de dados por JOptionPane

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

Linguagem de Programação Visual

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

Módulo III Padrões GOF-VI: MVC

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

COM220 Aula 17: Interface Gráfica Containers Swing

Comando if.. else. 2. JOptionPane. showmessagedialog. showconfirmdialog. showinputdialog. Caixa de diálogo para mostrar mensagem simples

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

Elaborando as Interfaces Aulas 31, 32 e 33

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

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

Arquivos. Prof. Leonardo Barreto Campos 1

Programação Orientada a Objetos II

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

Pacote Java Swing Parte 1

. 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.

MANIPULAÇÃO DE EVENTOS

Aula 2 Even e to t s d o M ouse

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

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

Programação II. Cassio Diego

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

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

Desenvolvimento de Aplicações Desktop

1.2. Pacote para o armazenamento das telas Agora, será necessário criarmos um novo pacote para armazenarmos as nossas telas:

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

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

Elaborando as Interfaces Aulas 43, 44 e 45

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

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

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

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Aula Prática Criando Views e Controles

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

Tiago Alves de Oliveira. Tiago Alves de Oliveira

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Prof. Msc. Vladimir Camelo

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas

Além de digitar e rodar os exemplos para ver seu funcionamento, deve-se ler atentamente e entender o que cada linha do código está fazendo.

Linguagem de programação 2 GUI

Input / Output na linguagem java. Para isso usamos um dos construtores da classe java.io.file:

Técnicas de Programação II

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

Aplicação Linguagem de Programação Orientada a Objeto

Interfaces e Classes Abstratas

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS III

UNIDADE I AULA II. Introdução à programação Java

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

Java Standard Edition (JSE)

Programação Gráfica em Java.

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

Interface Gráfica - Swing

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 19, 20 e 21

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

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

Vector Java. Empregado.java

MÓDULO 4 SWING Parte 3

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 5- Tratamento de Eventos de Manipulação de textos

Componentes Parte 01

Interfaces Gráficas (GUIs) em Java usando Swing

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

Universidade Federal de Uberlândia

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

JMENU, JDESKTOPPANE E JINTERNALFRAME

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

Java Deployment Course

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

Gerenciadores de Layout

Interfaces Gráficas (GUIs) em Java usando Swing

Java Swing: Netbeans

Especialização em Engenharia de Software - CEUT

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

Elaborando as Interfaces dos trabalhos das aulas 22, 23 e 24.

Curso Java Starter. 1

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo

Java ME Elementos da interface gráfica Aula 2. Marcio Seiji Oyamada

Marcelo Henrique dos Santos

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

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

CURSO: Ciência da Computação. Período Letivo 2 sem/2008 C.H. Teórica 40. Série 4ª Série C.H. Prática 40. Periodo Não definido C.H.

Transcrição:

Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com

AULA 04 Interface Gráfica em Java

Aplicações MDI MDI: Multiple Document Interface Programa tem uma janela de desktop que contém as demais janelas. As janelas filhas podem ser minimizadas e movidas dentro do desktop, mas não removidas. Se o desktop for minimizado, todas as janelas filhas também o são. Suporte para MDI no Swing JDesktopPane Serve como a janela mãe (desktop) das demais janelas. JInternalFrame Semelhante a um frame, exceto que ele está restringido a permanecer dentro do objeto JDesktopPane.

JInternalFrame É um contêiner para ser utilizado em aplicações MDI. Construtor principal public JInternalFrame(String title, boolean resizable, boolean closeable, boolean maximizable, boolean iconifiable) Outros contrutores úteis JInternalFrame() JInternalFrame( String title ) JInternalFrame( String title, boolean resizable ) JInternalFrame( String title, boolean resizable, boolean closable)

JInternalFrame Outros métodos: movetofront() movetoback() setlocation (int x, int y) setsize(int largura, int comprimento); setminimumsize(new Dimension(largura, comprimento)); settitle(string); setmaximizable(boolean); seticonifiable(boolean); setclosable(boolean); setresizable(boolean); setjmenubar(jmenubar); pack()

JDesktopPane Um objeto JDesktopPane é um contêiner para construir uma aplicação de múltiplos documento (MDI). Serve como a janela mãe (desktop) das demais janelas. Um objeto JDesktopPane pode conter diversos objetos JInternalFrame. Principais métodos add(jinternalframe) cascadeframes() InternalFrameDemo

Trabalhando com menus A biblioteca Swing disponibiliza menus comuns (pull-down) e menus pop-up Um menu pode conter itens de menu e separadores, sendo que os itens podem ter texto e imagem, além de poderem ser marcados (como um checkbox) As classes do Swing a serem utilizadas são JMenuBar, JMenu e JMenuItem. JMenuBar: uma barra de menus. JMenu: cada um dos menus suspenso que podem ser pendurados em uma barra de menus. JMenuItem: cada opção a ser adicionada a um menu.

Menus Principal construtor de JMenu: private JMenu menucadastros = new JMenu("Cadastros"); Hierarquia dos elementos de Menu

Classe JMenuBar Modela uma barra de menu, fixa em uma janela da aplicação Na barra de menu pode-se colocar os menus da aplicação, sendo que o menu de ajuda (help) possui um tratamento diferenciado Métodos de JMenuBar JMenu add(jmenu c) JMenu getmenu(int index) int getmenucount() void sethelpmenu(jmenu menu) JMenu gethelpmenu()

JMenuBar // Criando o objeto JMenuBar private JMenuBar menubar = new JMenuBar();... // Adicionando objetos JMenu ao objeto JMenuBar menubar.add(menuvenda);... // Adicionando um menu de gerenciamento de janelas à barra de menus. menubar.add(new WindowMenu(desktop)); // Adicionando a barra de menus à aplicação MDI (JFrame) setjmenubar(menubar);

Classe JMenu Modela um menu que pode ser colocado na barra de menus ou dentro de um outro menu. Pode conter: itens de menu Separadores Métodos de JMenu JMenu(String s) JMenu(String s, boolean tear-off) JMenuItem add(string name) JMenuItem add(jmenuitem menuitem) JMenuItem insert(jmenuitem i, int p) void addseparator() void insertseparator(int pos)

JMenu // Criando o objeto JMenu JMenu menuvenda = new JMenu("Venda");... //Adicionando objetos JMenuItem ao objeto JMenu menuvenda.add(menuefetuarvenda);... // Adicionando um separador de itens ao objeto JMenu. menuvenda.addseparator();... // Adicionando um mnemônico menuvenda.setmnemonic('v');...

Classe JMenuItem Modela um item de menu É superclasse de JMenu, uma vez que um menu também pode ser um item de menu É sub-classe de JAbstractButton, logo, um item de menu é um botão Métodos de JMenuItem JMenuItem(String text) JMenuItem(String text, Icon icon) void setmnemonic(char mnemonic) void setaccelerator(keystroke keystroke) void setenabled(boolean b) void addactionlistener(actionlistener l)

JMenuItem // Criando o objeto JMenuItem private JMenuItem menuefetuarvenda = new JMenuItem("Venda...");... // Adicionando um mnemônico menuvenda.setmnemonic('v');... ks = KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.ALT_MASK ) menusistemasair.setaccelerator(ks);... // Definindo um listener para o objeto JMenuItem. menuefetuarvenda.addactionlistener(new ActionListener() { public void actionperformed(actionevent ae) { /* Código a ser executado quando o usuário clica no item de menu*/ } });

JMenuBar, JMenu, JMenuItem Típico código para manipulação de menus: JFrame f = new JFrame("Teste"); JMenuBar menubar = new JMenuBar(); JMenu menuvenda = new JMenu( Venda ); JMenuItem menuefetuarvenda= new JMenuItem( Efetuar ); menubar.add(menuvenda); menuvenda.add(menuefetuarvenda); menuefetuarvenda.addactionlistener(new ActionListener() { public void actionperformed(actionevent ae) { // Código do item de menu. } }); menuefetuarvenda.setaccelerator(keystroke.getkeystroke( KeyEvent.VK_E, KeyEvent.CTRL_MASK)); menuefetuarvenda.setmnemonic( E'); f.setjmenubar(menubar); f.pack(); f.setvisible(true);

Exemplo de Menus JFrame f = new JFrame("Teste"); JMenuBar b = new JMenuBar(); JMenu m = b.add(new JMenu("Arquivo")); m.setmnemonic('a'); JMenuItem i = m.add("sair"); i.addactionlistener(new ActionListener() { public void actionperformed(actionevent ev) { System.exit(0); }}); i.setaccelerator(keystroke.getkeystroke( KeyEvent.VK_S, KeyEvent.CTRL_MASK)); i.setmnemonic('s'); f.setjmenubar(b); f.pack(); f.setvisible(true);

JToolBar Similar a uma painel para botões. Dockable: pode ser arrastada.

Menus de Escolha JMenuItem possui duas sub-classes que permitem a escolha de opções: JCheckBoxMenuItem JRadioButtonMenuItem Essas classes modelam itens de menu que funcionam da mesma maneira que os botões de escolha que vimos MenuLookDemo

Classe JPopupMenu Modela um menu pop-up, isto é, um menu que pode ser aberto sobre um elemento qualquer de interface, fora da barra de menu Assim como um menu comum, um menu pop-up pode conter itens de menu e separadores Métodos de JPopupMenu JPopupMenu() JPopupMenu(String label) JMenuItem add(string name) JMenuItem add(jmenuitem menuitem) void addseparator() void pack() void show(component c, int x, int y)

JFrame f = new JFrame("Teste"); JPopupMenu p = new JPopupMenu(); JMenu m = new JMenu("Arquivo"); m.add("sair"); p.add(m); f.addmouselistener(new MouseAdapter() { Exemplo de JPopupMenu public void mousepressed(mouseevent ev) { if (ev.ispopuptrigger()) p.show((component)ev.getsource(), ev.getx(), ev.gety()); } public void mousereleased(mouseevent ev) { if (ev.ispopuptrigger()) p.show((component)ev.getsource(), ev.getx(), ev.gety()); }}); f.pack(); f.setvisible(true);

Diálogos Pré-definidos O Swing oferece um conjunto de diálogos simples pré-definidos para uso em interações breves com o usuário mensagens de erro, de alerta obtenção de uma confirmação entrada de um único campo de texto Esses diálogos são modais

JOptionPane Classe que permite exibir diferentes tipos de caixas de diálogo. Cinco métodos estáticos principais JOptionPane.showMessageDialog Icon, message, OK button JOptionPane.showConfirmDialog Icon, message, and buttons: OK, OK/Cancel, Yes/No, or Yes/No/Cancel JOptionPane.showInputDialog (2 versões) Icon, message, textfield or combo box, buttons JOptionPane.showOptionDialog Icon, message, array de butões ou de outros componentes

Classe JOptionPane Métodos estáticos para a criação desses diálogos simples Estrutura básica: ícone mensagem entrada de dados botões de opção

JOptionPane (cont.) Exemplo de uso de JOptionPane JOptionPane.showMessageDialog(null, "no data found for " + parameter);

MessageDialog Exibe uma mensagem e aguarda OK do usuário INFORMATION QUESTION WARNING ERROR PLAIN

JOptionPane Message Dialogs (Windows L&F)

Método showmessagedialog void showmessagedialog(component parentcomponent, Object message); void showmessagedialog(component parentcomponent, Object message, String title, int messagetype); void showmessagedialog(component parentcomponent, Object message, String title, int messagetype, Icon icon);

Exemplo de MessageDialog JOptionPane.showMessageDialog(janela, "Cuidado com o apagão!", "ATENÇÃO", JOptionPane.WARNING_MESSAGE);

ConfirmDialog Exibe uma mensagem e obtém uma confirmação (YES/NO, OK/CANCEL) Conjuntos de botões de opção (optiontype): JOptionPane.DEFAULT_OPTION JOptionPane.YES_NO_OPTION JOptionPane.YES_NO_CANCEL_OPTION JOptionPane.OK_CANCEL_OPTION

JOptionPane: Confirmation Dialogs (Java L&F)

Método showconfirmdialog int showconfirmdialog(component parentcomponent, Object message); int showconfirmdialog(component parentcomponent, Object message, String title, int optiontype); int showconfirmdialog(component parentcomponent, Object message, String title, int optiontype int messagetype, Icon icon);

Exemplo de ConfirmDialog int resp = JOptionPane.showConfirmDialog(janela, "Prossegue com a tarefa?", "Escolha uma opção", JOptionPane.OK_CANCEL_OPTION); CLOSED_OPTION OK_OPTION CANCEL_OPTION

InputDialog Exibe uma mensagem e obtém um valor de entrada do usuário campo de texto editável combo box

Método showinputdialog String showinputdialog(component parentcomponent, Object message); String showinputdialog(component parentcomponent, Object message, String title, int messagetype); Object showinputdialog(component parentcomponent, Object message, String title, int messagetype Icon icon, Object[] selectionvalues, Object defaultselection);

Exemplo de InputDialog String nome = JOptionPane.showInputDialog(janela, "Qual é o seu nome?", "Identifique-se", JOptionPane.QUESTION_MESSAGE);

OptionDialog Exibe uma mensagem (ou objeto) e obtém uma opção escolhida pelo usuário O número de botões e seus textos são configuráveis A opção default é configurável

Método showoptiondialog int showoptiondialog(component parentcomponent, Object message, String title, int optiontype int messagetype, Icon icon, Object[] options, Object initialvalue);

Exemplo de OptionDialog Object[] opções = {"Sim", "Não", "Mais Tarde", "Amanhã", "Sei lá!"}; int resp = JOptionPane.showOptionDialog(janela, "Prossegue com a tarefa?", "Escolha uma opção", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, opções, opções[0]);

Exemplo de OptionDialog

Classe JFileChooser É comum uma aplicação abrir e salvar arquivos A classe JFileChooser implementa uma caixa de diálogo que permite que o usuário navegue pelo sistema de arquivos semelhante às usadas por aplicações nativas

Métodos de JFileChooser void setcurrentdirectory(file dir) void setselectedfile(file file) void setmultiselectionenabled(boolean b) void setfilefilter(filefilter filter) int showopendialog(component parent) int showsavedialog(component parent) int showdialog(component parent, String approvebuttontext) File getselectedfile() File[] getselectedfiles()

Exemplo de JFileChooser JFileChooser chooser = new JFileChooser(); chooser.setcurrentdirectory(new File("c:\\Tutorial")); int res = chooser.showopendialog(janela); if (res == JFileChooser.APPROVE_OPTION) { File file = chooser.getselectedfile(); System.out.println(file.getName()); } FileChooserDemo.java

Classe FileFilter Utilizada para a implementação de filtros que permitem restringir os tipos de arquivos exibidos em um diálogo de seleção FileFilter é uma classe abstrata A subclasse de FileFilter deverá implementar os métodos: boolean accept(file file) String getdescription()

Exemplo de FileFilter import javax.swing.filechooser.filefilter; public class GifFilter extends FileFilter { } public boolean accept(file f) { } return f.getname().tolowercase().endswith(".gif") f.isdirectory(); public String getdescription() { } return "Arquivos GIF";

Conclusões Componentes essenciais de uma aplicação Swing: Contêiners são janelas ou painéis que contêm componentes. Layouts especificam como arranjar componentes em um contêiner. Componentes: são os controles da interface gráfica com o usuário. Ouvintes (listeners) são conectados a componentes e contém o código que é executado quando o componente é usado. É desse modo que uma ação do usuário sobre um componente é conectada a um método Java.

Conclusões Alguns IDEs têm eles próprios facilidades de construção da interface gráfica (editores de formulários) e.g. NetBeans - www.netbeans.org Também há ferramentas específicas para a criação de GUIs em Java. Exemplos são: XUI - http://xui.sourceforge.net/ UICompiler - http://uic.sourceforge.net/

BIBLIOGRAFIA SANTOS, Ismael H F. Módulo II : Interface com usuário GUI. Memória de aula - UniverCidade. SOBRAL, João Bosco; SCHWEBEL, Samuel Cristhian. Interface Gráfica de Usuário Básica em Java. Memória de aula da Universidade Federal de Santa Catarina. DEITEL, Paul J.; DEITEL, Harvey. Java : como programar. 8. ed. São Paulo : Pearson Prentice Hall, 2010. 47

BIBLIOGRAFIA PINHEIRO, Francisco A. C.. Fundamentos de computação e orientação a objetivos usando Java. Rio de Janeiro : LTC, 2006. KURNIAWAN, Budi. Java para a Web com servlets, JSP e EJB. Rio de Janeiro: Ciência Moderna, 2002. Site da Sun, http://java.sun.com/j2se/ 48