Principais Classes Swing AWT

Tamanho: px
Começar a partir da página:

Download "Principais Classes Swing AWT"

Transcrição

1 Principais Classes Swing AWT As classes e interfaces localizadas nos pacotes java.awt e javax.swing são recursos para o desenvolvimento de GUIs (Graphic User Interface Interface Gráfica do Usuário). Uma GUI é desenvolvida utilizando-se componentes, que são objetos visuais que possibilitam ao usuário realizar a interação com o programa por meio do mouse e do teclado. Os componentes mais comuns são: rótulos (Label), botões (button), campo de texto (text field), áreas de texto (text area), caixas de checagem (check box), botões de rádio (radio button), listas (list) e menus. Na versão 1.0 de Java, encontramos um pacote chamado AWT (Abstract Window Toolkit kit de ferramentas de janelas abstratas) contendo todas as classes necessárias para a construção de GUIs. A estratégia adotada, naquele momento, para tratar dos elementos da interface do usuário fora delegar a sua criação e seu comportamento ao kit de ferramentas nativo do sistema operacional específico onde fossem criados. Algum tempo depois se verificou que os componentes apresentavam diferenças entre as diversas plataformas e isto dificultava a construção de GUIs. Além disto, ocorriam erros diferentes com os componentes em cada plataforma, obrigando os desenvolvedores a testar seus aplicativos em cada uma delas. Devido a este problema, a Sun começou a desenvolver uma nova biblioteca de componentes que aperfeiçoasse o método adotado. Essa biblioteca foi chamada de Swing e passou a ser o nome oficial do kit de componentes para a construção de GUIs. O pacote Swing não é sobrecarregado com as complexas capacidades da plataforma em que são utilizados e, por isto, são freqüentemente chamados de peso leve. Ao contrário, os componentes AWT precisam contar com o sistema de janelas da plataforma local para determinar sua funcionalidade, sua aparência e seu comportamento. Entretanto, alguns componentes Swing ainda requerem interação direta com o sistema local de janelas, como é o caso de todas as classes derivadas de Window (como JFrame). Os componentes AWT continuam disponíveis nas últimas versões do J2SDK e encontra-se no pacote java.awt. Os componentes Swing foram dispostos no pacote javax.swing. 1

2 Component A classe Component representa as características comuns de todos os componentes, ou seja, de todos aqueles objetos que possuem uma representação gráfica, que podem interagir com o usuário e que possuem uma aparência e um comportamento. Container A classe Container representa um contêiner,ou seja, um componente que pode abrigar dentro de si outros componentes. Os contêineres criados com a classe Container funcionam como painéis e janelas, que abrigam outros contêineres e/ou componentes que aparecem na tela. A classe javax.swing.jframe JFrame é um container de janela e é uma versão estendida da classe java.awt.frame que adiciona suporte à arquitetura dos componentes Swing. Entretanto, ela é incompatível com a classe Frame. Para adicionar um componente a um JFrame é preciso invocar o método add() do objeto que representa seu painel de conteúdo. Como esse objeto não pode ser acessado diretamente, deve-se recuperá-lo utilizando o método getcontentpane() da janela. A instrução para adição de um componente a um JFrame deve, então obedecer ao seguinte padrão. JFrame f = new JFrame (); f.getcontentpane().add(<nome do Componente>); 2

3 Veja abaixo um exemplo da utilização do container JFrame. import java.awt.*; import javax.swing.*; class TesteJFrame extends JFrame{ public TesteJFrame(){ //Titulo da janela 1 settitle("primeira Janela Swing"); //tamanho da janela 2 setsize(275,100); // anula o layout padrao 3 getcontentpane().setlayout(null); //cor de fundo da janela no padrão RGB (Red Green Blue) 4 getcontentpane().setbackground(new Color(255,255,255)); //provoca o termino da execução (encerra o programa) 5 setdefaultcloseoperation(jframe.exit_on_close); public static void main(string [] args){ 6 TesteJFrame janela = new TesteJFrame(); 7 janela.setvisible(true); A classe TesteJFrame é filha de JFrame, logo herda os atributos e métodos da super classe. Na linha 1 está sendo definido o título da janela. Na linha 2 está sendo definido o tamanho da janela. Na linha 3 está sendo anulado o layout padrão para que seja possível definir manualmente o tamanho e a posição dos componentes que ele abrigará. Na linha 4 está sendo definida a cor de fundo da janela. As cores seguem o padrão RGB (Red Green Blue) e podem ser representadas por números inteiros de 0 a 255 ou por números em ponto flutuante entre 0,0 e 1,0. Na linha 5 estamos definindo o comportamento que será executado quando clicarmos no botão "X" no canto superior direito da janela, ou seja, encerrar a execução do programa. Caso não seja definido este comportamento, a janela irá assumir o comportamento default (HIDE_ON_CLOSE) ou seja, a janela será "escondida", mas o processo continuará executando. Na linha 6 está sendo criado um objeto da classe. Veja que todas as definições da janela estão sendo executadas dentro do método construtor. Na linha 7 a janela torna-se visível para o usuário. 3

4 Veja a janela gerada pela execução do programa anterior. Esta janela não irá aparecer centralizada na tela e caso este seja o objetivo, devemos alterar o código da classe anterior. Veja o exemplo abaixo: import java.awt.*; import javax.swing.*; class TesteJFrame extends JFrame{ public TesteJFrame(){ //Titulo da janela settitle("primeira Janela Swing"); //tamanho da janela setsize(275,100); // anula o layout padrao getcontentpane().setlayout(null); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteJFrame janela = new TesteJFrame(); janela.setvisible(true); 4

5 Inserindo Textos, Campos de Edição e Botões na Tela A Classe javax.swing.jlabel Um rótulo (JLabel) é uma área para a exibição de um texto, uma imagem ou ambos. Ele não reage a eventos de entrada e, por isto, não pode receber o foco do teclado. Entretanto, pode incluir teclas de atalho para passar o foco para outro componente. Veja o exemplo abaixo: import java.awt.*; import javax.swing.*; class TesteJLabel extends JFrame{ public TesteJLabel(){ //Titulo da janela settitle("primeira Janela Swing"); //tamanho da janela setsize(275,100); //anula o layout padrao getcontentpane().setlayout(null); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); //Cria um JLabel JLabel jl= criarjlabel(); //insere o JLabel no ContentPane da Janela getcontentpane().add(jl); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); public JLabel criarjlabel(){ JLabel jl = new JLabel(); jl.settext("jlabel inserido"); jl.setlocation(10, 10); jl.setsize(370, 50); //Torna opaco o fundo do rótulo jl.setopaque(true); jl.setbackground(new Color(255,255,255)); jl.setforeground(new Color(0,0,0)); jl.setfont(new Font("Courier new", Font.BOLD, 12)); jl.settooltiptext("jlabel Exemplo"); jl.sethorizontalalignment(swingconstants.left); jl.setverticalalignment(swingconstants.top); return jl; public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); 5

6 if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteJLabel janela = new TesteJLabel(); janela.setvisible(true); Veja a janela gerada pela execução do programa anterior A Classe javax.swing.jbutton Um botão (button) é um componente que pode ser pressionado pelo usuário, utilizando o mouse ou teclado, para acionar uma ação específica. Veja o exemplo abaixo: import java.awt.*; import javax.swing.*; class TesteJButton extends JFrame{ public TesteJButton(){ //Titulo da janela settitle("primeira Janela Swing"); //tamanho da janela setsize(new Dimension(300,100)); //anula o layout padrao getcontentpane().setlayout(null); //cor de fundo da janela no padrao RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); JButton b1, b2; //Cria um JButton "gravar" b1 = new JButton(); b1.settext("gravar"); //50 posição x, 30 posição y, 100 largura, 30 altura b1.setbounds(50, 30, 100, 30); b1.setbackground(new Color(0,0,170)); b1.setforeground(color.yellow); b1.setfont(new Font("Helvetica", Font.BOLD, 12)); b1.settooltiptext("botao b1"); b1.sethorizontalalignment(swingconstants.center); b1.setverticalalignment(swingconstants.center); b1.setenabled(false); 6

7 b1.setmnemonic('g'); b2 = new JButton(); b2.settext("sair"); b2.setbounds(150, 30, 100, 30); b2.setbackground(new Color(0,0,170)); b2.setforeground(color.yellow); b2.setfont(new Font("Helvetica", Font.BOLD, 12)); b2.settooltiptext("botao b2"); b2.sethorizontalalignment(swingconstants.center); b2.setverticalalignment(swingconstants.center); b2.setenabled(true); b2.setmnemonic('s'); //insere os botões no ContentPane da Janela getcontentpane().add(b1); getcontentpane().add(b2); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtem a altura e largua da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteJButton janela = new TesteJButton(); janela.setvisible(true); Veja abaixo a saída gerada pela execução do programa acima. Vários métodos da classe JButton realizam as mesmas tarefas realizadas por métodos com nomes idênticos da classe JLabel e já foram analisados. Veja abaixo um resumo desses métodos: 7

8 settext(): define o texto do botão setbounds(): define o tamanho e a posição em seu contêiner setbackground(): define a cor de fundo setforeground(): define a cor do texto setfont(): define o tipo, o estilo e o tamanho da fonte settooltiptext(): define uma dica sethorizontalalignment(): define o alinhamento horizontal do conteúdo. setverticalalignment(): define o alinhamento vertical do conteúdo. Apenas dois métodos utilizados nesse exemplo não haviam sido introduzidos durante o estudo dos Labels (JLabel). São eles: setenabled() e setmnemonic(). setenabled(): exige um argumento booleano e serve para habilitar ou desabilitar o botão. setmnemonic(): define um atalho de teclado para o botão. Deve-se informar para esse método um caracter que exista no seu texto. Posteriormente, o botão poderá ser acessado, a partir de qualquer ponto da janela, pressionando-se a tecla ALT em conjunto com esse caracter. A Classe javax.swing.jtextfield Esta classe representa um campo de texto para digitação pelo usuário, usualmente empregado para campos de cadastro de uma única linha. Veja o exemplo abaixo: import java.awt.*; import javax.swing.*; class TesteJTextField extends JFrame{ public TesteJTextField(){ //Titulo da janela settitle("primeira Janela Swing"); //tamanho da janela setsize(new Dimension(300,100)); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(200,230,200)); //Cria JTextField JTextField jt = new JTextField(); jt.settext("insira texto aqui"); jt.sethorizontalalignment(jtextfield.center); 8

9 //insere o JTextField no ContentPane da Janela getcontentpane().add(jt); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteJTextField janela = new TesteJTextField(); janela.setvisible(true); Layouts de Tela Gerenciamento de Layout Nos exemplos anteriores, o tamanho e o posicionamento dos componentes nas janelas foram definidos através dos métodos setsize(), setbounds() e setlocation(). Utilizou-se o sistema de coordenadas x e y para posicionar os componentes e a definição de valores absolutos para sua altura e largura. Entretanto, essa forma de organização esbarra em vários inconvenientes. Deve-se evitar o uso de valores absolutos para definição do tamanho e posição de componentes porque eles comprometem duas importantes características da qualidade do software: sua portabilidade e manutenção. Eles comprometem a portabilidade porque os componentes dimensionados e posicionados com valores absolutos se apresentam de forma distinta em diferentes plataformas. Eles também comprometem a manutenibilidade porque o trabalho necessário para realizar ajustes em uma GUI se torna mais complexo, gastando muito mais tempo. 9

10 Em função do exposto acima, é aconselhável evitar o uso de valores absolutos para o dimensionamento e posicionamento de componentes. Para isso, deve-se substituir esse procedimento pelo uso dos gerenciadores de leiaute (layout) disponíveis na API Java. Os gerenciadores de leiaute (layout) nada mais são que classes que aplicam um conjunto de regras predefinidas para determinar o tamanho e a posição de cada componente em um contêiner. Para que os componentes de uma janela ou de um painel sejam organizados, automaticamente, você precisará vincular um gerenciador de leiaute (layout) a esse contêiner e adicionar os componentes a ele. O objetivo de um gerenciador de leiaute (layout) é organizar os componentes em seu contêiner para uma apresentação adequada. Além de serem mais eficientes, eles fornecem capacidades que são muito mais fáceis de utilizar do que a definição de tamanho e posição por valores absolutos. Além disso, utilizando-se gerenciadores de leiaute (layout), os componentes são reorganizados automaticamente, quando a janela em que estão dispostos é redimensionada e se ajustam a mudanças feitas em seu conteúdo. Layout de Fluxo (FlowLayout) O leiaute (layout) de fluxo (flowlayout) alinha os componentes em um fluxo, da esquerda para a direita e de cima para baixo, muito parecido com o texto de um parágrafo. Esse tipo de leiaute (layout) é representado pela classe java.awt.flowlayout. Em um painel cujo gerenciamento de leiaute (layout) é delegado a um objeto da classe FlowLayout, os componentes são dispostos em colunas e linhas, da esquerda para a direita e de cima para baixo, à medida que são adicionados. Quando um componente é adicionado, ele é disposto do lado direito do último componente presente no painel e, se ele não é comportado na mesma linha, ele é posicionado na linha seguinte. 10

11 Veja o exemplo abaixo. import java.awt.*; import javax.swing.*; class TesteFlowLayout extends JFrame{ public TesteFlowLayout(){ //Titulo da janela settitle("teste FlowLayout"); //Define um tamanho inicial para a janela setsize(300,120); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); //Cria um flowlayout alinhando seus componentes ah esquerda //e definindo o espaçamento horizontal e vertical entre eles FlowLayout fl = new FlowLayout(FlowLayout.LEFT, 10, 10); getcontentpane().setlayout(fl); JButton b1 = new JButton("Botao 1"); JButton b2 = new JButton("Botao 2"); JButton b3 = new JButton("Botao 3"); JButton b4 = new JButton("Botao 4"); JButton b5 = new JButton("Botao 5"); getcontentpane().add(b1); getcontentpane().add(b2); getcontentpane().add(b3); getcontentpane().add(b4); getcontentpane().add(b5); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteFlowLayout janela = new TesteFlowLayout(); janela.setvisible(true); 11

12 Neste exemplo foi criado um objeto da classe FlowLayout com um de seus construtores que modifica o alinhamento padrão dos componentes (centralizado) para que sejam alinhados à esquerda e definiu-se também o espaçamento horizontal e vertical entre estes componentes. Para definir esse objeto como gerenciador de leiaute (layout) do painel de conteúdo da janela, invocou-se o método setlayout() desse painel e utilizou-se o objeto "fl" como argumento. Neste exemplo, à medida que a janela for redimensionada, os botões serão reorganizados como se fossem palavras em um parágrafo alinhado à esquerda. Se a largura da janela for incrementada, alguns botões podem passar para as linhas precedentes àquelas em que se encontram. Veja abaixo a tela gerada pela execução deste programa. Layout de Bordas (BorderLayout) O leiaute (layout) de bordas é representado pela classe java.awt.borderlayout. Ela posiciona e redimensiona os componentes para ajustarem-se a cinco regiões de seu contêiner: norte, sul, leste, oeste e centro. Cada uma dessas regiões pode conter somente um componente e sua localização é definida por uma constante, como segue: BorderLayout.NORTH: representa a região norte (superior) BorderLayout.SOUTH: representa a região sul (inferior) BorderLayout.EAST: representa a região leste (direita) BorderLayout.WEST: representa a região oeste (esquerda) BorderLayout.CENTER: representa a região central. 12

13 Veja abaixo um exemplo. import java.awt.*; import javax.swing.*; class TesteBorderLayout extends JFrame{ public TesteBorderLayout(){ //Titulo da janela settitle("teste BorderLayout"); //Define um tamanho inicial para a janela setsize(350,150); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); //Cria um borderlayout definindo o espaçamento horizontal e //vertical entre cada uma das regiões BorderLayout bl = new BorderLayout(5,5); getcontentpane().setlayout(bl); JButton b1 = new JButton("Botao Norte"); JButton b2 = new JButton("Botao Sul"); JButton b3 = new JButton("Botao Leste"); JButton b4 = new JButton("Botao Oeste"); JButton b5 = new JButton("Botao Centro"); getcontentpane().add(b1,borderlayout.north); getcontentpane().add(b2,borderlayout.south); getcontentpane().add(b3,borderlayout.east); getcontentpane().add(b4,borderlayout.west); getcontentpane().add(b5,borderlayout.center); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteBorderLayout janela = new TesteBorderLayout(); janela.setvisible(true); 13

14 Um objeto da classe BorderLayout foi criado utilizando-se uma versão alternativa do construtor, de modo a ser possível definir um espaçamento horizontal e vertical entre cada uma de suas regiões. Na linha seguinte esse objeto é configurado como gerenciador de leiaute (layout) do painel de conteúdo da janela. Foi utilizado o método add() para adicionar componentes ao contêiner. Como o gerenciador de leiaute (layout) é o borderlayout, foi preciso informar, além do nome do componente, uma das constantes que representa a região onde o botão será inserido. Ao redimensionar a janela, aumentando ou diminuindo tanto a largura quando a altura, os botões adicionados ao seu painel de conteúdo têm largura e/ou altura modificadas, mas matem sempre as mesmas posições. Veja abaixo a tela gerada pela execução deste programa. Layout de Grade (GridLayout) Um gerenciador de leiaute (layout) de grade é aquele que dispõe os componentes em um contêiner em forma de uma grade retangular. O contêiner é dividido em células retangulares de tamanhos iguais e cada componente é disposto em uma célula diferente. O leiaute (layout) de grade (GridLayout) é representado pela classe java.awt.gridlayout e, do mesmo modo que no leiaute (layout) de fluxo, os componentes são dispostos da esquerda para a direita, mas ocupam uma célula da grade e ajustam seu tamanho a ela. 14

15 Veja abaixo um exemplo. import java.awt.*; import javax.swing.*; class TesteGridLayout extends JFrame{ public TesteGridLayout(){ //Titulo da janela settitle("teste GridLayout"); //Define um tamanho inicial para a janela setsize(300,150); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); /* Número de linhas(3), o número de colunas(2), o espaçamento horizontal(0) e o espaçamento vertical(0) entre os componentes (em pixels) */ GridLayout gl = new GridLayout(3,2,0,0); getcontentpane().setlayout(gl); JButton b1 = new JButton("Linha 1 - Coluna 1"); JButton b2 = new JButton("Linha 1 - Coluna 2"); JButton b3 = new JButton("Linha 2 - Coluna 1"); JButton b4 = new JButton("Linha 2 - Coluna 2"); JButton b5 = new JButton("Linha 3 - Coluna 1"); JButton b6 = new JButton("Linha 3 - Coluna 2"); getcontentpane().add(b1); getcontentpane().add(b2); getcontentpane().add(b3); getcontentpane().add(b4); getcontentpane().add(b5); getcontentpane().add(b6); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteGridLayout janela = new TesteGridLayout(); janela.setvisible(true); 15

16 No exemplo acima foi instanciado um novo objeto da classe GridLayout, chamado "gl", utilizando-se uma versão do construtor que exige quatro números inteiros como argumentos. Eles representam, respectivamente: o número de linhas, o número de colunas, o espaçamento horizontal e o espaçamento vertical entre os componentes (em pixels). Na instrução seguinte o objeto "gl" é definido como o gerenciador de leiaute (layout) do painel de conteúdo da janela. A partir deste momento, todos os componentes adicionados a esse painel serão posicionados na grade de três linhas e duas colunas que ele representa. Se a janela for redimensionada, todos os componentes também serão redimensionados na mesma proporção para ocuparem todo o seu espaço. Veja abaixo a tela gerada pela execução deste programa. Painéis - Inserindo novos containeres a tela a partir do JPanel Os painéis agem como contêineres que servem para dividir a janela. Eles são utilizados para possibilitar maior controle da organização de interfaces gráficas mais complexas e, em conjunto com os gerenciadores de leiaute (layout), permitem mais exatidão no posicionamento dos componentes. A classe javax.swing.jpanel representa um contêiner genérico. Ela deriva da classe Jcomponent, que é uma classe derivada de Java.awt.Container. Pode-se dizer que todo painel, representado como um objeto da classe Jpanel, é um contêiner e pode abrigar componentes, inclusive outros painéis. 16

17 Veja o exemplo abaixo. import java.awt.*; import javax.swing.*; class TesteJPanel extends JFrame{ JButton b1, b2; JPanel p1, p2; public TesteJPanel(){ //Titulo da janela settitle("teste JPanel"); //tamanho da janela setsize(200,200); // anula o layout padrao getcontentpane().setlayout(null); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); p1 = new JPanel(); p1.setlayout(null); p1.setbounds(10, 10, 170, 70); p1.setbackground(color.blue); p2 = new JPanel(); p2.setlayout(null); p2.setbounds(10,90,170,70); p2.setbackground(color.yellow); b1 = new JButton("Gravar"); b1.setbounds(35, 30, 100, 30); b2 = new JButton("Sair"); b2.setbounds(35, 30, 100, 30); p1.add(b1); p2.add(b2); getcontentpane().add(p1); getcontentpane().add(p2); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public static void main(string [] args){ TesteJPanel janela = new TesteJPanel(); janela.setvisible(true); 17

18 O objetivo deste exemplo é criar dois painéis e adiciona-los ao painel de conteúdo da janela e, em seguida, adicionar um botão em cada um dos painéis criados. Para facilitar o exemplo, os gerenciadores de leiaute (layout) não foram utilizados, logo o leiaute (layout) padrão desses painéis foi anulado pela chamada as instruções setlayout(null). Com isto foi possível adicionar componentes e posicioná-los utilizando posições absolutas (coordenadas x e y). Veja abaixo a saída gerada pela execução do programa anterior. Interface Interface é um recurso da programação orientada a objetos que define ações (comportamentos) que devem ser obrigatoriamente executadas, porém cada classe que implementa esta interface pode executar de forma diferente. Interfaces possuem valores constantes ou assinaturas de métodos que devem ser implementados dentro de uma classe. Uma interface é a definição de um tipo, uma classe é a implementação de um tipo e um objeto é uma instância de um tipo. A interface define um tipo porque muitos objetos (instâncias de classes) podem possuir a mesma ação (método ou comportamento), porém podem executar esta ação de forma diferente. Para exemplificar o conceito de interface, vamos definir uma interface chamada País que possui a assinatura do método criarconstituicao(). Ou seja, toda classe que implementar País deve definir como criar uma constituição por meio do método criarconstituicao(). Devido a isto, se eu tenho uma classe chamada Brasil e outra chamada México, 18

19 ambas implementando a interface País, cada uma deverá obrigatoriamente codificar a forma como a constituição será criada. (Existe uma opção para não codificar utilizando a palavra abstract que não será abordada no curso). Uma interface pode ser criada da mesma forma que uma classe, basta utilizar a palavra chave "interface" no lugar de class. Veja o exemplo abaixo: interface InterfaceName { método(args); Uma classe pode estender suas funcionalidades obtendo as características de outra classe num processo chamado de herança. Uma interface não é herdada, mas sim implementada. Todo o código dos métodos da interface deve ser escrito dentro da classe que implementa a interface. Com isto, obtemos as assinaturas dos métodos da interface em uma classe utilizando a palavra chave implements. A vantagem das interfaces está no fato de que não há limites para a quantidade de interfaces que uma classe pode implementar. Isto ajuda no caso de herança múltipla que não é suportada pela linguagem Java, pois uma classe apenas pode herdar as características e comportamentos de uma única classe. Vamos analisar o exemplo abaixo: public interface Temperatura { void convertertemperatura(double temperatura, String origem); import javax.swing.joptionpane; public class Celsius implements Temperatura { public void convertertemperatura(double temperatura, String origem) { double tempcelsius=0; if( origem.equals("fahrenheit")){ tempcelsius = (temperatura - 32) / 1.8; else if (origem.equals("kelvin")){ tempcelsius = temperatura ; JOptionPane.showMessageDialog(null,"Temperatura em Celsius: " + tempcelsius); 19

20 import javax.swing.joptionpane; public class Fahrenheit implements Temperatura { public void convertertemperatura(double temperatura, String origem){ double tempfahrenheit =0; if( origem.equals("celsius")){ tempfahrenheit = temperatura * ; else if (origem.equals("kelvin")){ tempfahrenheit = temperatura * ; JOptionPane.showMessageDialog(null, "Temperatura em Fahrenheit: " + tempfahrenheit); A interface Temperatura define o método convertertemperatura(), já as classes Celsius e Fahrenheit implementam o método convertertemperatura() de formas diferentes, ou seja, cada implementação do método utiliza fórmulas diferentes para converter a temperatura, pois o objetivo do método convertertemperatura() da classe Celsius é converter a temperatura para Celsius, já na classe Fahrenheit o objetivo é converter a temperatura para Fahrenheit. Curiosidade: Em interfaces, os métodos são públicos abstratos(public abstract) e os atributos são constantes estáticas (final static), mesmo que o desenvolvedor não defina essas palavras na assinatura do método. A classe Java abaixo foi criada apenas para testar o exemplo acima descrito. Veja que são solicitadas ao usuário três informações: 1) Um valor de temperatura (origem); 2) Qual unidade está a temperatura (origem) informada; 3) Para qual temperatura deve-se converter a temperatura; Em seguida é criado o objeto correspondente e a temperatura será convertida. import javax.swing.joptionpane; public class TestaConversao { public static void main(string[] args) { String temperatura = JOptionPane.showInputDialog("Digite o valor da temperatura (origem)"); String origem = JOptionPane.showInputDialog("Digite a unidade da temperatura"); String destino = JOptionPane.showInputDialog("Informe a unidade da temperatura destino"); if(destino.equals("celsius")){ Celsius c = new Celsius(); double temp = Double.parseDouble(temperatura); c.convertertemperatura(temp, origem); else if(destino.equals("fahrenheit")){ 20

21 Fahrenheit f = new Fahrenheit(); double temp = Double.parseDouble(temperatura); f.convertertemperatura(temp, origem); Como exercício, crie a classe Kelvin, implemente o método convertertemperatura() e faça as modificações necessárias na classe TestaConversao.java para a mesma também calcular a temperatura em graus Kelvin. Fórmulas para conversão: De Para Fórmula Celsius Kelvin K = C Fahrenheit Kelvin K = ( F ) / 1.8 Eventos de Clique (Ação) Eventos de clique (ação) são eventos de alto nível gerados por um componente (como um botão) quando a ação especificada por ele ocorrer (como ser pressionado). Quando um evento desse tipo ocorre, o componente gerador envia um objeto da classe ActionEvent para cada ouvinte, registrado através do método addactionlistener(). Cada vez que um botão é pressionado, o ouvinte será notificado através de um objeto do tipo ActionEvent, que contém informações acerca do evento ocorrido. Se ele é ouvinte de dois ou mais botões, é preciso determinar qual deles foi pressionado para tomar a decisão correta. Isso pode ser feito invocando-se o método getsource(), que retornará uma referência ao objeto que gerou o evento. Veja o exemplo abaixo import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.*; class TesteEventoAcao extends JFrame implements ActionListener{ JLabel l1; JButton b1, b2; int i1, i2; public TesteEventoAcao(){ settitle("teste Evento Acao"); //tamanho da janela setsize(240,100); // anula o layout padrao getcontentpane().setlayout(null); //cor de fundo da janela no padrão RGB (Red Green Blue) getcontentpane().setbackground(new Color(255,255,255)); 21

22 //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); centralizar(); i1 = i2 = 0; b1 = new JButton("Gravar"); b1.setbounds(10, 10, 100, 30); b1.addactionlistener(this); b2 = new JButton("Sair"); b2.setbounds(120, 10, 100, 30); b2.addactionlistener(this); l1 = new JLabel("Pressione os botões"); l1.setbounds(5, 50, 220, 20); getcontentpane().add(b1); getcontentpane().add(b2); getcontentpane().add(l1); public void centralizar(){ //obtém a altura e largura da resolução vídeo Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); //obtém a altura e largura da minha janela Dimension janela = getsize(); if (janela.height > screen.height) setsize(janela.width, screen.height); if (janela.width > screen.width) setsize(screen.width, janela.height); setlocation((screen.width - janela.width)/2, (screen.height - janela.height)/2); public void actionperformed(actionevent e){ if (e.getsource() == b1) l1.settext("botão gravar pressionado " + ++i1 + " vez(es)"); if (e.getsource() == b2) l1.settext("botão sair pressionado " + ++i2 + " vez(es)"); public static void main(string [] args){ TesteEventoAcao janela = new TesteEventoAcao(); janela.setvisible(true); Exercícios Sobre Interface Gráfica 1) Implemente uma classe Java que faça uso de interface gráfica. Faça uma tela de login de usuário com os seguintes componentes: Um rótulo (label) com a descrição "Usuário" Um rótulo (label) com a descrição "Senha" Uma caixa de texto (TextField) para o usuário digitar o seu nome Uma caixa de senha (PasswordField) para o usuário digitar a sua senha Dois botões: Um "Ok" e outro "Cancelar" 22

23 Resposta Quando o usuário clicar no botão "Cancelar" o programa deve ser encerrado (Utilize o comando System.exit(0) para isto). Quando o usuário clicar no botão "Ok" valide o usuário e senha e caso sejam informações corretas, utilize um JOptionPane para informar ao usuário que ele foi logado ao sistema e em seguida encerre o programa (Utilize o comando System.exit(0) para isto). Caso as informações não estejam corretas, utilize um JoptionPane para informar ao usuário que as informações de login não estão corretas, e diga para o usuário digitar as informações novamente. import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.*; public class TesteLogonUsuario extends JFrame implements ActionListener{ JButton btnok, btncancelar; JTextField campousuario; JPasswordField camposenha; public TesteLogonUsuario(){ settitle("login Usuario"); setsize(300,110); GridLayout gl = new GridLayout(3,2,1,1); getcontentpane().setlayout(gl); //provoca o termino da execução (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); JLabel labelusuario = new JLabel(); labelusuario.settext("usuario: "); getcontentpane().add(labelusuario); campousuario = new JTextField(); getcontentpane().add(campousuario); JLabel labelsenha = new JLabel(); labelsenha.settext("senha: "); getcontentpane().add(labelsenha); camposenha = new JPasswordField(); getcontentpane().add(camposenha); btnok = new JButton("Ok"); getcontentpane().add(btnok); btnok.addactionlistener(this); btncancelar = new JButton("Cancelar"); getcontentpane().add(btncancelar); btncancelar.addactionlistener(this); public void actionperformed(actionevent e){ if (e.getsource() == btnok){ 23

24 String usu = campousuario.gettext(); String senha = String.valueOf(campoSenha.getPassword()); if (usu.equals("glauco") && senha.equals("752")){ JOptionPane.showMessageDialog(null, usu + ", você foi logado ao sismtema."); System.exit(0); else{ JOptionPane.showMessageDialog(null, "Usuario ou senha invalidos. Tente novamente"); if (e.getsource() == btncancelar){ System.exit(0); public static void main(string[] args) { TesteLogonUsuario tlu = new TesteLogonUsuario(); tlu.setvisible(true); 2) Implemente uma classe Java com a seguinte GUI: Resposta import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.*; public class Formulario extends JFrame { JButton btnok, btncancelar; public Formulario(){ settitle("formulario"); setsize(300,160); GridLayout gl = new GridLayout(6,2,1,1); getcontentpane().setlayout(gl); //provoca o termino da execucao (encerra o programa) setdefaultcloseoperation(jframe.exit_on_close); JLabel labelnome = new JLabel(); labelnome.settext("nome: "); getcontentpane().add(labelnome); JTextField camponome = new JTextField(); getcontentpane().add(camponome); 24

25 JLabel labelendereco = new JLabel(); labelendereco.settext("endereco: "); getcontentpane().add(labelendereco); JTextField campoendereco = new JTextField(); getcontentpane().add(campoendereco); JLabel labeltelefone = new JLabel(); labeltelefone.settext("telefone: "); getcontentpane().add(labeltelefone); JTextField campotelefone = new JTextField(); getcontentpane().add(campotelefone); JLabel labelcpf = new JLabel(); labelcpf.settext("cpf: "); getcontentpane().add(labelcpf); JTextField campocpf = new JTextField(); getcontentpane().add(campocpf); JLabel labelrg = new JLabel(); labelrg.settext("rg: "); getcontentpane().add(labelrg); JTextField camporg = new JTextField(); getcontentpane().add(camporg); btnok = new JButton("Ok"); getcontentpane().add(btnok); btncancelar = new JButton("Cancelar"); getcontentpane().add(btncancelar); public static void main(string[] args) { Formulario form = new Formulario(); form.setvisible(true); 3) Fdfdf 25

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

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo Programação Java Construção de Interface gráfica Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Processo Básico: OO + Eventos Instanciar os componentes de interface por exemplo,

Leia mais

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

Criando interfaces com o usuário. Continuação Criando interfaces com o usuário Continuação A diferença básica entre um objeto Window e um objeto JFrame é que o JFrame representa a janela principal de uma aplicação e o Window apenas uma janela a mais.

Leia mais

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

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Prof. Esp. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java/aulajava07a09.pptx Existe grande quantidade de funcionalidades

Leia mais

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing Aula 1- Interfaces Gráficas com Swing Conteúdo Programático desta aula Explorar o pacote Swing para desenvolver Interfaces em Java Utilização de Interfaces gráficas para interagir com objetos previamente

Leia mais

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

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA Layout Programação Orientada a Objetos Java Prof. Geraldo Braz Junior Baseado em material original de João Carlos Pinheiro CEFET/MA Objetivos Apresentar os gerenciadores de layout: FlowLayout BorderLayout

Leia mais

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

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em:  Aulas 16, 17, e 18 Elaborando Interfaces Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 16, 17, e 18 1 Todos os componentes JLabel JTextField JButton Além do próprio JFrame2 Todos os

Leia mais

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

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Renato Pimentel Laboratório 10 Interface gráfica Atividade individual. 1 Introdução

Leia mais

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

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 Componentes GUI GUI Grafical User Interface São construídas a partir de componentes GUI chamados de controles ou widgets (windows gadgets engenhocas de janela). Ex: JOptionPane fornece caixas de diálogos

Leia mais

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

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula Programação Orientada a Objetos II Java Nona aula 1 Programação Orientada a Objeto II Interface Gráfica AWT E SWING Criação de interfaces gráficas básicas Exercícios 2 Interface gráfica em Java As aplicações

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Graphical user Interfaces Objetivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs - Utilizar classes do package javax.swing - Usar um modelo de programação

Leia mais

Gerenciadores de Layout

Gerenciadores de Layout Gerenciadores de Layout Mário Antonio Meireles Teixeira DEINF UFMA Baseado em material original de João Carlos Pinheiro CEFET/MA 1 Objetivos Apresentar os gerenciadores de layout: FlowLayout BorderLayout

Leia mais

Interfaces Gráficas com Swing. Professor Leonardo Larback

Interfaces Gráficas com Swing. Professor Leonardo Larback Interfaces Gráficas com Swing Professor Leonardo Larback SWING Swing é um widget toolkit para uso em Java. Surgiu como sucessor do Abstract Window Toolkit (AWT) à partir do java 1.2. Como uma das principais

Leia mais

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

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing Aula 11: Interfaces gráficas (1/2): elementos de interface Swing Motivação como fazer programas com interface gráfica em Java? solução: uso de pacotes (listados na API) AWT (java.awt.*) Swing (javax.swing.*)

Leia mais

A classe JTextField

A classe JTextField 8.1.4. A classe JTextField É uma caixa para digitação do usuário que permite a inclusão de um texto de apenas uma única linha. Principais métodos setbounds(int x, int y, int Width, int Height) define as

Leia mais

MANIPULAÇÃO DE EVENTOS

MANIPULAÇÃO DE EVENTOS MANIPULAÇÃO DE EVENTOS Ao término desse capítulo você terá aprendido: Tipos de eventos; Manipulação de eventos de componentes; Manipulação de eventos do mouse; Manipulação de eventos do teclado; Interfaces

Leia mais

Programação II. Cassio Diego

Programação II. Cassio Diego Programação II Cassio Diego 1 Aula de hoje UNIDADE 1 1. Criação de interfaces gráficas usando as JFC/Swing 1.1. Introdução (revisão de orientação a objetos) 1.2. Hierarquia de classes 1.3. Modelos de desenvolvimento

Leia mais

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

Introdução à Programação Gráfica em Java Introdução à Programação Gráfica em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R

Leia mais

MÓDULO 4 SWING Parte 3

MÓDULO 4 SWING Parte 3 Aplicações de Linguagem de Programação Orientada a Objetos 2ºsem/2011 (Professores: Tiago e Daniele) // Exemplo11 Ação do Mouse import javax.swing.*; import java.awt.*; import java.awt.event.actionevent;

Leia mais

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1 Aula de Revisão para AV1 Conteúdo Programático desta aula Rever os principais conceitos apresentados Resolução de Exercícios para a prova Quantas bibliotecas de GUI existem em Java: a) Uma: Swing b) Duas:

Leia mais

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira JAVA Gerenciadores de Layout Tiago Alves de Oliveira 1 Introdução Layout para impor algum tipo de forma em uma interface projetada com o AWT, deve-se usar um conjunto de classes chamadas gerenciadores

Leia mais

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

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1. 9ª LISTA DE EXERCÍCIOS INTERFACES GRÁFICAS DE USUÁRIO Disciplina: PC-II Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1. Figura 1.1: Primeira

Leia mais

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

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel Agenda Interfaces Gráficas: layout manager joao@ecomp.uefs.br JFC (Java FoundaNon Classes) Swing componentes Gerênciamento de Layout BoderLayout, FlowLayout,... Departamento de Ciências Exatas Universidade

Leia mais

Prof. Fernando V. Paulovich 25 de julho de SCC Programação Orientada a Objetos

Prof. Fernando V. Paulovich   25 de julho de SCC Programação Orientada a Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São

Leia mais

Componentes Parte 01

Componentes Parte 01 Componentes Parte 01 Prof. Edwar Saliba Júnior Setembro de 2012 1 Reflexão Merecemos a culpa por não termos facilitado o seu aprendizado. No tocante aos recursos, o produto era fantástico, mas no que se

Leia mais

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

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em:  Aulas 19, 20 e 21 Elaborando Interfaces Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 19, 20 e 21 1 PARAMOS AQUI NA AULA PASSADA Elabore a tela abaixo: (Valor 2,0 pontos) 2 Algumas

Leia mais

Elaborando as Interfaces Aulas 31, 32 e 33

Elaborando as Interfaces Aulas 31, 32 e 33 Elaborando as Interfaces Aulas 31, 32 e 33 JList e JComboBox Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 31, 32 e 33. 1 ATIVIDADE DA SEMANA PASSADA ELABORE UMA

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Graphical user Interfaces Objetivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs - Utilizar as classes JFrame, JButton, JLabel, ImageIcon, JTextField,

Leia mais

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

Programação Gráfica em Java Alguns Componentes javax.swing Programação Gráfica em Java Alguns Componentes javax.swing Objetivo: Ao final da aula o aluno deverá ser capaz de empregar alguns componentes visuais do pacote javax.swing para produzir interfaces gráficas.

Leia mais

Gerenciamento de Layout

Gerenciamento de Layout Gerenciamento de Layout Gerenciamento de layout consiste no processo de determinar o tamanho e a posição dos componentes. Ele pode ser feito usando-se posicionamento absoluto, como fazíamos no VC++, Delphi

Leia mais

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

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes Aula 15 Interface Gáfica Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Interface gráfica em Java: Swing. Java Foundation Classes

Leia mais

LPII Programando uma Cálculadora Simples Módulo III

LPII Programando uma Cálculadora Simples Módulo III Abra o Eclipse e crie um projeto de nome calculadorasimples. Em seguida crie um frame de nome calculadora na opção New >> Other que apresenta a tela: Inclua os componentes button e TextField, conforme

Leia mais

Tiago Alves de Oliveira. Tiago Alves de Oliveira

Tiago Alves de Oliveira. Tiago Alves de Oliveira Tiago Alves de Oliveira 1 Tiago Alves de Oliveira Os containers que encontramos no Swing são os objetos que irão hospedar e organizar os outros componentes, como botões, edits, labels, etc... Swing possui

Leia mais

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

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface) Interface Gráfica Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos JFC Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Componentes: JLabel, JTextFielde JButton Container / Layout Gil Eduardo de Andrade Componentes Gráficos: Container A classe Container (import java.awt.container) A ideia decontainer,

Leia mais

JMENU, JDESKTOPPANE E JINTERNALFRAME

JMENU, JDESKTOPPANE E JINTERNALFRAME 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA JMENU, JDESKTOPPANE E JINTERNALFRAME Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Antes de começar!

Leia mais

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA) (INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA) Ferramenta 1 -NetBeans 8.1 GUI Elaborado por: Osmar de Oliveira Braz Junior Descrição

Leia mais

HABILITANDO A IDE DO ECLIPSE

HABILITANDO A IDE DO ECLIPSE HABILITANDO A IDE DO ECLIPSE Até agora configuramos todos os atributos dos objetos inseridos em um frame. Vamos agora habilitar a IDE do Eclipse. Siga os passos abaixo: 1. File >>New >> Java Project 2.

Leia mais

Interfaces Gráficas: Interações Complexas

Interfaces Gráficas: Interações Complexas Interfaces Gráficas: 21 Interações Complexas 21.2 Gerenciando leiautes 21.2.6 GridBagLayout Este gerente de leiaute dispõe os componentes sob seu controle em um reticulado, permitindo a especificação da

Leia mais

LINGUAGEM DE PROGAMAÇÃO II Criando uma Classe

LINGUAGEM DE PROGAMAÇÃO II Criando uma Classe Turma 2112 LINGUAGEM DE PROGAMAÇÃO II Criando uma Classe Data 29-05-17 Para criar um projeto novo utilize a URL http://mz.pro.br/lpii/lpii_160215.pdf. Vamos construir um programa que apresente a tela abaixo:

Leia mais

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

Processo Básico: OO + Eventos. Java First-Tier: Aplicações. Construção de Interface gráfica. Exemplo. Exemplo. Exemplo. Hierarquia de Composição Java First-Tier: Aplicações Construção de Interface gráfica Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Processo Básico: OO + Eventos Instanciar os componentes de interface por

Leia mais

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

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos 1. Para a construção de uma aplicação gráfica se faz necessário conceber a interface de aplicação, identificando-se

Leia mais

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

TIC - Programação Visual. Componentes. Prof. Edwar Saliba Júnior Setembro de Unidade 14 Componentes 1 Componentes Prof. Edwar Saliba Júnior Setembro de 2012 Unidade 14 Componentes 1 Reflexão Merecemos a culpa por não termos facilitado o seu aprendizado. No tocante aos recursos, o produto era fantástico,

Leia mais

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

Interfaces Gráficas POO. Prof. Márcio Delamaro Interfaces Gráficas POO Prof. Márcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/83 GUI Interface Gráfica do Usuário Em Java usamos o pacote Swing javax.swing Possui um conjunto

Leia mais

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

Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30. Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30. Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 28, 29 e 30. 1 Exercício Crie uma tela com os menus Menu

Leia mais

Elaborando as Interfaces Aulas 43, 44 e 45

Elaborando as Interfaces Aulas 43, 44 e 45 Elaborando as Interfaces Aulas 43, 44 e 45 RESOLUÇÃO DOS EXERCÍCIOS, MÉTODOS E JPROGRESSBAR Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 43, 44 E 45. 1 ATIVIDADE

Leia mais

Adding User Interaction

Adding User Interaction Adding User Interaction if62c - Fundamentos de Programação 1/2014 professores Danillo Leal Belmonte (belmonte@utfpr.edu.br) e Robinson Vida Noronha (vida@utfpr.edu.br) 1 Estratégias Adicionar ações isoladas

Leia mais

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

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing Programação III Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br Deitel Capítulo 11 : Imagens gráficas e Java 2D Capítulo 12 : Componentes Básicos Capítulo 13 : Componentes Avançados GUI

Leia mais

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

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em:   Aulas 16, 17, e 18 Elaborando Interfaces Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 16, 17, e 18 1 Pensando nesta tela 2 As Etiquetas ou rótulos JLabel 3 As caixas de textos JTextField

Leia mais

Prof. Responsáveis Wagner Santos C. de Jesus

Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Estudos do pacote awt ; Classe Frame;Estrutura básica de implementação de uma iterface gráfica;criação de container para posicionamento

Leia mais

Arquivos. Prof. Leonardo Barreto Campos 1

Arquivos. Prof. Leonardo Barreto Campos 1 Arquivos Prof. Leonardo Barreto Campos 1 Sumário Introdução; A Classe File; Criando um arquivo de texto de acesso seqüencial; Exemplos de Interface; Lendo dados a partir de um arquivo de texto de acesso

Leia mais

Aula 2 Even e to t s d o M ouse

Aula 2 Even e to t s d o M ouse Aula 2 Eventos do Mouse Sumário Considerações iniciais Elementos de uma aplicação Principais tipos de eventos em Java: (WindowEvent, MouseEvent, ActionEvent, KeyEvent) Capturando os eventos: Definindo

Leia mais

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

1) Responda de acordo com os conceitos de orientação a objetos (0,5). Avalição II (Teórica) 22/06/2017 Disciplina Linguagem de Programação II Prof. Wagner, dos Santos C. de Jesus Curso Engenharia da Computação Questões Solução da Avaliação 1) Responda de acordo com os conceitos

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Pacotes: Swing, AWT Janelas de diálogo: JOptionPane Formulários: JFrame Etiquetas: JLabel Caixas de texto simples: JTextField Botões: JButton Menus: JMenuXXX Tratamento

Leia mais

Java Swing: Netbeans

Java Swing: Netbeans Java Swing: Netbeans Swing Atualmente, o Java suporta, oficialmente, dois tipos de bibliotecas gráficas:awt e Swing. A AWT foi a primeira API para interfaces gráficas a surgir no Java e foi, mais tarde,

Leia mais

Aula Prática Criando Views e Controles

Aula Prática Criando Views e Controles Aula Prática Criando Views e Controles Criando a interface utilizando Swing Paulo Ricardo Lisboa de Almeida 1 Criando uma UI Simples Vamos criar uma view simples no braço utilizando swing Existem opções

Leia mais

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

Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27. Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27. Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 25, 26 e 27. 1 Na aula da semana passada ficaram para

Leia mais

Interface Gráfica - Swing

Interface Gráfica - Swing Interface Gráfica - Swing 1 Swing com o NetBeans p Para a construção de aplicativos gráficos, o construtor de interfaces gráficas do NetBeans IDE, torna a atividade uma simples tarefa de arrastar e soltar;

Leia mais

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books ( 1) DADOS DA OBRA: Título: Programando em Java 2 Teoria e Aplicações Autor: Rui Rossi dos Santos Ano: 2004 Editora: Axcel Books (http://www.axcel.com.br) Páginas: 580 Encadernação: Capa dura 2) DESCRIÇÃO

Leia mais

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

AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula. Janelas para leitura e exibição de textos AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula Introduzir o conceito de interfaces gráficas (GUI) Apresentar os componentes Swing e sua hierarquia Criar interfaces gráficas com componentes

Leia mais

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

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br

Leia mais

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

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1) Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1) Overriding x Overload Métodos de diferentes classes que possuem uma relação de herança. Métodos possuem mesmo nome, mesma assinatura

Leia mais

Java Standard Edition (JSE)

Java Standard Edition (JSE) Java Standard Edition (JSE) Capítulo 09. Swing básico Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 1 Novos recursos a aprender Interfaces gráficas; Portabilidade; O pacote do Swing; Primeiro projeto

Leia mais

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener Interface Gráfica Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Agenda Componente JOptionPane Layout Null Tratamento de Eventos Action Listener Componente JOptionPane javax.swing.joptionpane

Leia mais

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

Aplicações de Linguagem de Programação Orientada a Objeto Aplicações de Linguagem de Programação Orientada a Objeto Eventos Professora Sheila Cáceres Programação Orientada a Eventos No modelo imperativo tradicional, o programador determina a ordem de entrada

Leia mais

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

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

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS 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

Leia mais

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

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 2. Programação visual com a IDE Netbeans Projetos Tipos de projetos Desenvolvimento

Leia mais

Linguagem de Programação Visual

Linguagem de Programação Visual Linguagem de Programação Visual Unidade 4 - Introdução à API Swing - JOptionPane Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 API SWING... 3 A CLASSE JOPTIONPANE... 3 PRINCIPAIS MÉTODOS DA CLASSE

Leia mais

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1 Aula de Revisão para AV1 Conteúdo Programático desta aula Rever os principais conceitos apresentados Resolução de Exercícios para a prova 1) Assinale Verdadeiro (V) ou Falso (F): (PR2 2006/1) ( ) Cada

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Componentes: JCheckBoxe JRadioButton JPanel / ButtonGroup/ ItemListener Gil Eduardo de Andrade Componentes Gráficos: JCheckBox A classe JCheckBox (import java.swing.jcheckbox) A classe

Leia mais

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

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates Interface Gráfica Disciplina: Desenvolvimento de Sistemas Professor: Thiago Silva Prates Interface Gráfica Interface Gráfica com Usuário (do inglês, Graphical User Interface GUI) apresenta um mecanismo

Leia mais

Aula 2 Eventos do Mouse by Pearson Education do Brasil

Aula 2 Eventos do Mouse by Pearson Education do Brasil 1 11 Aula 2 Eventos do Mouse 11.13 Tratamento de evento de mouse 2 Eventos de mouse: Cria um objeto MouseEvent. Tratado por MouseListeners e MouseMotionListeners. MouseInputListener combina as duas interfaces.

Leia mais

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

Elaborando as Interfaces dos trabalhos das aulas 22, 23 e 24. Elaborando as Interfaces dos trabalhos das aulas 22, 23 e 24. Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 22, 23 e 24 1 TRABALHO EM DUPLAS Valor 2,0 pontos Elabore

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Font size Animation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Guilherme Faria Quental Identificação da Turma: Análise e Desenvolvimento de Sistemas

Leia mais

Cadastro de Cargos, Departamentos e Funcionários

Cadastro de Cargos, Departamentos e Funcionários Projeto 1 Cadastro de Cargos, Departamentos e Funcionários Nessa etapa construiremos dentro do projeto RecursosHumanos três formulários que permitirão cadastrar cargos, departamentos e funcionários no

Leia mais

8. Interfaces Gráficas de Usuário

8. Interfaces Gráficas de Usuário Vamos discutir como construir aplicações com interface gráfica de usuário (conhecida como GUI - Graphical User Interface). Numa interface gráfica existem botões, caixas de texto, painéis, barras de rolagem,

Leia mais

Vector Java. Empregado.java

Vector Java. Empregado.java Vector Java Empregado.java /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools Templates * and open the template in the editor.

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 19: Interface Gráfica 2 Componentes Sabemos que uma janela do Java (JFrame) pode possuir diversos componentes Cada um desses componentes

Leia mais

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

Linguagem de Programação II GUI Interface Gráfica com o Usuário Linguagem de Programação II Interface Gráfica com o Usuário Prof. Alessandro Borges 2 Tópicos Introdução Visão Geral dos Componentes Swing Criação de interface no Netbeans Tipos comuns de eventos 3 Introdução

Leia mais

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress. Programação de Interfaces Gráficas Aula 1 Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com "Use o seu tempo para melhorar a si mesmo através dos escritos

Leia mais

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE 1. Introdução. Uma Aplicação Windows Forms consiste em programas GRÁFICOS fundamentados no conceito de JANELAS que, no Visual Studio,

Leia mais

Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004

Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004 Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004 public class Calc { private int estadointeracao; private int operacaoselecionada; private long acumulador0; private long acumulador1; private

Leia mais

Prof. Msc. Vladimir Camelo

Prof. Msc. Vladimir Camelo APLICATIVOS DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS (ALPOO) PADRÃO MVC (Model-View-Controller) Prof. Msc. Vladimir Camelo O padrão arquitetural MVC (Model-View-Controller) foi criado no contexto

Leia mais

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

. 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. Interfaces Gráficas e Eventos - 18 A classe JTextField. Um campo de texto, permite ao utilizador introduzir uma única linha de texto. Uma instância da classe JTextField gera uma instância da classe ActionEvent

Leia mais

Interface gráfica em Java: Swing e SWT

Interface gráfica em Java: Swing e SWT Programação Orientada a Objetos Interface gráfica em Java: Swing e SWT UNIFEI 14/06/2012 Componentes gráficos em Java Os componentes gráficos em Java Componentes de desenho 2D e 3D Componentes de interface

Leia mais

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de Parte I Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de tratamentos de eventos. Criar e manipular botões,

Leia mais

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

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Entrada e Saída Parte IV Entrada e Saída Módulo de Interface com o usuário Dividir trabalho Separar processamento de E/S Entrada e Saída

Leia mais

Como tratar eventos - A interface ActionListener e o método actionperformed

Como tratar eventos - A interface ActionListener e o método actionperformed Se você parar para reparar, um aplicativo gráfico é como se fosse como um cardápio de um restaurante. Você chega, faz seus pedidos e suas ordens são atendidas. Cada pessoa vai fazer pedidos diferentes,

Leia mais

Introdução à construção de GUIs

Introdução à construção de GUIs 1 de 5 21/10/2009 14:53 Introdução à construção de GUIs Contribuição de Saleem Gul e Tomas Pavek, mantido por Ruth Kusterer e Patrick Keegan Este tutorial de iniciante ensina como criar uma interface de

Leia mais

package br.com.cadastro.visao;

package br.com.cadastro.visao; package br.com.cadastro.visao; import java.awt.eventqueue; import java.awt.event.actionlistener; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.border.emptyborder; import br.com.cadastro.modelo.cliente;

Leia mais

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo MODEL-VIEW-CONTROLER Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é MVC? Modelo de arquitetura de software Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo

Leia mais

Interfaces Gráficas (GUIs) em Java usando Swing

Interfaces Gráficas (GUIs) em Java usando Swing 1 Interfaces Gráficas (GUIs) em Java usando Swing Componentes Atômicos São elementos ou componentes que não permitem conter outros elementos. Podemos citar, dentre outros, botões, labels, textfields, sliders,

Leia mais

Java Deployment Course

Java Deployment Course Java Deployment Course Atividade Prática Programação Visual com JBuilder Jorge H. C. Fernandes Recife, 12 de Maio de 1999 Tópicos Modelo da Aplicação Interface da Aplicação Conexão entre Modelo e Interface

Leia mais