A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Professor Rafael Monteiro JAVA Interface Grafica - Swing POO usando JAVA.

Apresentações semelhantes


Apresentação em tema: "Professor Rafael Monteiro JAVA Interface Grafica - Swing POO usando JAVA."— Transcrição da apresentação:

1

2 Professor Rafael Monteiro JAVA Interface Grafica - Swing POO usando JAVA

3 O pacote Swing não é um substituto do AWT ( Abstract Window Toolkit ), o pacote gráfico utilizado nas primeiras versões de java. Em vez disso, o Swing é visto como uma camada disposta sobre o AWT e que utiliza internamente os componentes da AWT. Diferentemente da AWT, onde alguns componentes gráficos utilizavam a capacidade de renderização da interfaces gráficas em que o aplicativo estava sendo executado, os componentes do Swing são todos escritos em puro java. Um componente do pacote Swing é reconhecido pela letra J antecedendo o nome do mesmo componente no pacote AWT. POO usando JAVA2

4 Todas as classes do swing são extenções da classe AWT, que por sua vez, são extenções da classe java.lang.Object, a superclasse de todas as classes do Java. POO usando JAVA Existem três classes a serem utilizadas na criação de uma GUI: import java.awt.* import java.awt.* permite a utilização de diversas classes do pacote AWT, além de possuir uma série de constantes numéricas. imoport java.awt.event imoport java.awt.event usado para o processamento dos eventos que ocorrerão na janela, tais como: Click do Mouse, ENTER do campo texto, etc. import javax.Swing.* import javax.Swing.* permite a utilização de diversas classes do pacote swing. 3

5 POO usando JAVA Frame é um componente do pacote AWT responsável pela criação de janeas, parecidas com as encontradas em aplicativos do ambiente Windows. O componente frame gera uma janela com barra de título, bordas e pode ter outros componentes em seu interior. Imagine o componente frame como uma folha de projeto em que são inseridos diversos objetos. Em conjunto com esses objetos, definidos no metodo construtor da classe, o componente frame gera uma visualização grafica de um determinado aplicativo. Esta classe estende diretamente a classe Frame do AWT. 4

6 As interfaces gráficas são elementos baseados em eventos. De uma maneira geral, eventos são interaçãao do usuário com a interface gráfica. Mover o mouse é um evento; fechar uma janela é um outro evento.nn Eventos ocorrem a todo instante nos aplicativos modernos. Continua... POO usando JAVA5

7 Quando o usuário interage con um objeto da interface gráfica, um evento é enviado automaticamente para o programa na expectativa de que ele seja identificado e tratado e convenientemente tratado para produzir algum tipo de resposta à ação realizada sobre o objeto. POO usando JAVA6

8 Os retângulos sombreados representam os controles da AWT. JWindow Dialog Frame JLabel AbstractButton JPanel JRootPane JDialog JFrame JButton Window Jcomponent ContainerComponent 7

9 É possível utilizar alguns componentes básicos do Swing diretamente. Com o Swing não há mudanças fundamentais no modo como as aplicações são construídas. Pode-se criar a janela principal da aplicação, usar frames, componentes e gerenciadores de layout e é possível estabelecer conexão quase que da mesma forma nterfaces gráficas são elementos baseados em eventos. POO usando JAVA8

10 Continua... import java.awt.*; import java.awt.event.*; import javax.swing.*; class Exemplo1 extends JFrame { Exemplo1() { setTitle("Minha primeira Janela em Java"); setSize(400,50); setLocation(150,150); setResizable(false); getContentPane().setBackground(Color.gray); String x = getTitle(); } public static void main(String args[]) { JFrame Janela=new Exemplo1(); Janela.show(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Janela.setVisible(true); } } Importação de Pacotes Extende de JFrame construtor - mesmo nome da classe titulo da Janela dimensoes da janela (Largura e Comprimento) canto esquerdo e topo da tela a janela não pode ser redimensionada cor de fundo da janela declaração e inicialização do objeto Janela JPanel pane = new Jpanel(); pane.setBackground(newColor(180,180,180)); add(pane); Mostra a Janela na tela 9

11 POO usando JAVA Continua...

12 POO usando JAVA Continua... import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Exemplo2 extends JFrame implements ActionListener { JButton b1,b2; ImageIcon icone = new ImageIcon("C:/Livros/Java/busca.gif"); Defini-se uma imagem public Exemplo2() { setTitle("Inserindo botoes na janela"); setSize(350,100); setLocation(50,50); getContentPane().setBackground(new Color(180,180,180)); 11

13 POO usando JAVA Continua... b1 = new JButton("Busca",icone); b1.setHorizontalTextPosition(AbstractButton.LEFT); //posicao do texto b1.setVerticalTextPosition(AbstractButton.TOP); //posicao do texto b1.setBackground(new Color(100,180,180)); //cor de fundo do botao b1.setForeground(Color.black); //cor do titulo do botao b1.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao b1.setEnabled(true); //Esta condicao eh Defaut, podendo ser alterada para FALSE b1.addActionListener(this); //registra o b1 para que um evento seja gerado por ele b1.setToolTipText("Pressione aqui para realizar uma busca");//exibe a mensagem qdo o ponteiro do estiver sobre o botao. b1.setMnemonic(KeyEvent.VK_B); //cria um atalho via teclado: ALT + B b2 = new JButton("Cancelar"); b2.addActionListener(this); b2.setMnemonic(KeyEvent.VK_C); b2.setToolTipText("Pressione aqui para cancelar"); getContentPane().setLayout(new FlowLayout()); //gerenciador de layout getContentPane().add(b1); getContentPane().add(b2); } 12

14 POO usando JAVA Continua... public void actionPerformed(ActionEvent e) { // metodo implementado pelo ActionListener if (e.getSource()==b1) //se o objeto que gerou o evento for o botao b1 { System.out.println("Botao 1 pressionado"); } if (e.getSource()==b2) { System.out.println("Botao 2 pressionado"); } 13

15 POO usando JAVA Continua... public static void main(String args[]) { JFrame Janela = new Exemplo2(); Janela.show(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); }

16 POO usando JAVA Continua... import java.awt.*; import java.awt.event.*; import javax.swing.*; class Exemplo3 extends JFrame implements ActionListener { JLabel L1,L2,L3; JButton B1, B2, B3, B4, B5; JTextField T1,T2,T3; public static void main(String args[]) { JFrame Janela=new Exemplo3(); Janela.show(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } 15

17 POO usando JAVA Continua... Exemplo3() { setTitle("Calculadora"); setSize(350,90); setLocation(50,50); getContentPane().setBackground(new Color(150,150,150)); getContentPane().setLayout(new GridLayout(3,4)); L1 = new JLabel("Num.1"); L1.setForeground(Color.black); L1.setFont(new Font("",Font.BOLD,14)); L2 = new JLabel("Num.2"); L2.setForeground(Color.black); L2.setFont(new Font("",Font.BOLD,14)); L3 = new JLabel("Total"); L3.setFont(new Font("",Font.BOLD,14)); 16

18 POO usando JAVA Continua... B1 = new JButton ("+"); B1.addActionListener(this); B2 = new JButton ("-"); B2.addActionListener(this); B3 = new JButton ("x"); B3.addActionListener(this); B4 = new JButton ("/"); B4.addActionListener(this); B5 = new JButton ("Limpar"); B5.addActionListener(this); B5.setBackground(Color.black); B5.setForeground(Color.white); T1 = new JTextField(); T2 = new JTextField(); T3 = new JTextField(); 17

19 POO usando JAVA Continua... // T1.addTextListener(this); T3.setEditable(false); //define que o textField como somente leitura //adicionam todos os objetos na janela na ordem que aparecem getContentPane().add(L1); getContentPane().add(T1); getContentPane().add(B1); getContentPane().add(B2); getContentPane().add(L2); getContentPane().add(T2); getContentPane().add(B3); getContentPane().add(B4); getContentPane().add(L3); getContentPane().add(T3); getContentPane().add(B5); } 18

20 POO usando JAVA Continua... public void actionPerformed(ActionEvent e) { if (e.getSource()==B5) { T1.setText(""); T2.setText(""); T3.setText(""); return; } float N1=0,N2=0,result=0; try { N1 = Float.parseFloat(T1.getText()); N2 = Float.parseFloat(T2.getText()); } catch (NumberFormatException erro) { T3.setText("Erro"); return; //encerara o método actionPerformed } 19

21 POO usando JAVA Continua... if (e.getSource()==B1) { result = N1 + N2; } if (e.getSource()==B2) { result = N1 - N2; } if (e.getSource()==B3) { result = N1 * N2; } if (e.getSource()==B4) { result = N1 / N2; } T3.setText(""+result); //qdo um numero e concatenado com um texto automaticamente ele se transforma em um texto } 20

22 POO usando JAVA Continuação... Listas e Caixas de Seleção; Caixas de Opção; Painéis e Botões de Rádio 21


Carregar ppt "Professor Rafael Monteiro JAVA Interface Grafica - Swing POO usando JAVA."

Apresentações semelhantes


Anúncios Google