Prof. Responsáveis Wagner Santos C. de Jesus

Documentos relacionados
Material III-Bimestre Estudo da linguagem Java em ambiente gráfico pacote(awt,swing) Manipulação de Banco de Dados

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

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

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

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

Escrito por Sex, 14 de Outubro de :26 - Última atualização Seg, 05 de Dezembro de :59

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

Elaborando as Interfaces Aulas 31, 32 e 33

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

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

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

Prof. Responsáveis Wagner Santos C. de Jesus

Arquivos. Prof. Leonardo Barreto Campos 1

CONTEÚDO PROGRAMÁTICO

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

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

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

Orientação a Objetos

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

Programação Orientada a Objetos II

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Programação Orientada a Objetos II

Elaborando as Interfaces Aulas 43, 44 e 45

Orientação a Objetos

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

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

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

MÓDULO 4 SWING Parte 3

Escrito por Sex, 14 de Outubro de :50 - Última atualização Seg, 26 de Março de :39

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

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

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

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

Programação Orientada a Objetos

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

CONEXÃO JAVA - BANCO DE DADOS

Orientação a Objetos

Tratamento de Exceções

Acesso a banco de dados

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

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

Componentes Parte 01

Técnicas de Programação II

Curso Java Starter. 1

Driver Mysql para Banco de Dados. Conexão com um Banco de Dados

MANIPULAÇÃO DE EVENTOS

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

Interface Gráficas Parte I. Bruno Crestani Calegaro

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

Desenvolvimento de Aplicações Desktop

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

Componentes no Java SE

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

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

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

8. Interfaces Gráficas de Usuário

Programação em Rede JDBC

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

COM220 Aula 17: Interface Gráfica Containers Swing

Gerenciadores de Layout

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

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

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL

Tiago Alves de Oliveira. Tiago Alves de Oliveira

Programação Orientada a Objetos com Java. Prof. Júlio Machado

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

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

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

Aula Prática Criando Views e Controles

Java - Conexão ao Banco de Dados usando JDBC

Banco de Dados. Banco de Dados

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

JDBC - Java Data Base Connectivity

Programação Orientada a Objetos em Java. GUI Graphical User Interface

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

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

Programação Orientada a Objetos II

Java. Guia do Programador. Peter Jandl Junior. Novatec

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS

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

Linguagens de Programação

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

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

Programação II. Cassio Diego

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

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

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

Programação com Acesso a Banco de Dados

Transcrição:

Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Usando Ambiente Gráfico com pacote Swing, Mensagem, Arquivo de Texto, Acesso a Banco de Dados, Conceito DTO e DAO Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de Jesus APOO 1

Visão da Aplicação Java B r o w s e r servlet JSP APPLET awt Swing JVM JavaBeans Banco Dados 2

Swing Vem a um pacote da linguagem Java que se mistura com awt recursos para construção de aplicações gráficas. Aplicação awt Applet Swing 3

Desenhar Para implementar uma aplicação usando Swing é necessário importa o pacote. Exemplo : import javax.swing.*; import java.awt.*; import java.awt.event.*; 4

Criando um objeto (Componente) Para se cria um objeto de formulário usando o pacote Swing é necessário adicionar a letra (J) na frente do componente. Exemplo : JFrame, JButton, JLabel etc. 5

Container Component List Button Container Label CheckBox Window Frame JComponent JLabel JButton J(...) 6

Container A classe Container permite criar um container para um futuro objeto em tela. Instância com método : getcontentpane(); Container tela = getcontentpane(); 7

Determinando o tipo de Formulário BorderLayout() FlowLayout(const, int,int) GridLayout(int,int,int,int) Formulário com coordenadas (Norte, Sul, Leste e Oeste) Formulário que respeita a seqüência dos objetos adicionados no container. Permite dividir o container em colunas e linhas especificadas. 8

Método setalignment() Ajusta os objetos mediante a posição especificada. LEFT RIGHT CENTER Alinha os objetos apartir da esquerda. Alinha os objetos apartir da direita do formulário. Alinha os objetos apartir do centro. 9

Exemplo : Container tela = getcontentpane(); FlowLayout layout = new FlowLayout(); layout.setalignment(flowlayout.left); tela.setlayout(layout); JLabel rotulo = new JLabel("Seu Nome:"); JTextField nome = new JTextField(10); JButton btn = new JButton("Ok"); tela.add(rotulo); tela.add(nome); tela.add(btn); setsize(300,100); setvisible(true); 10

setvisible(true) Mostra a janela definida nas coordenadas do método setsize(). 11

setdefaultcloseoperation Método que permite disparar ou controlar comportamento do formulário quando for fechado. JFrame.[valor da constante] 12

setdefaultcloseoperation() Esse método define como o aplicativo irá se comportar ao usuário tentar fechar a janela. Valor Constante HIDE_ON_CLOSE DO_NOTHING_ON_CLOSE DISPOSE_ON_CLOSE EXIT_ON_CLOSE Resultado Faz com que a janela seja apenas oculta quando usuário fecha o aplicativo. Faz com que o usuário não seja capaz de fechar a janela. Libera,ou seja, retira da memória, tanto a janela do aplicativo quanto seus componentes. Fecha a aplicação e retorna o controle ao sistema operacional 13

Exemplo: public static void main(string args[]){ controle7 app = new controle7(); app.setdefaultcloseoperation(jframe.exit_on_close); } 14

FlowLayout layout = new FlowLayout(FlowLayout.RIGHT,20,10); Espaçamento de 20 pixels horizontais e 10 pixels verticais Horizontal Vertical 15

setbounds() Determina em que posição de tela serão colocados os objetos, com relação entre linha e coluna e tamanho do mesmo. Exemplo : <objeto>.setbounds(int x, int y, int l, int a) x Coluna da tela y Linha da tela l Largura do objeto a Altura do objeto 16

Exemplo : Container tela = getcontentpane(); tela.setlayout(null); JLabel rotulo = new JLabel("Seu Nome:"); tela.add(rotulo); rotulo.setbounds(10,5,200,20); JTextField nome = new JTextField(10); tela.add(nome); nome.setbounds(10,30,200,20); 17

JButton Define Botões de comandos Exemplo : JButton obj1 = new JButton( Ok ); JButton obj2 = new JButton( Ok,icone); JButton obj2 = new JButton(icone); Exemplo: ImageIcon() ImageIcon icone = new ImageIcon( arq.gif ); 18

JLabel - Define rótulos de mensagens Exemplo: JLabel Obj = new JLabel( Msg ); JLabel Obj = new JLabel( Msg,Icone); JLabel Obj = new JLabel( Msg,Icone, posi); Exemplo :ImageIcon() JLabel Obj = new JLabel( Msg,Icone, posi); 19

Exemplo prático : JLabel Obj = new JLabel( projeto, MAbrir.gif,JLabel.LEFT); 20

JLabel() - HTML Permite colocar tags HTML para formatar texto. Exemplo : JLabel rotulo = new JLabel("<html><font size= 14 color=red> Veja </font></html>"); 21

Resultado do Código (JLabel) 22

Listas Para criarmos listas usando o pacote swing devemos usar as classes. JList () JComboBox() Os objetos acima dependem de vetores para funcionar, por tanto é mais compensador usar List e Choice() (awt). 23

JList(): Cria uma Caixa de lista JList lista = new JList( String Array ); Exemplo: String vet[] = { Ana", Roberta", "Nilce"}; JList lista = new JList( vet ); 24

Inserindo um elemento na lista em tempo de execução Classe DefaultListModel() e método addelement() Exemplo : DefaultListModel m1= new DefaultListModel(); 25

Exemplo addelement() m1= new DefaultListModel(); String vet[] = {"Janaina", "Wagner", "Nilce"}; JList lista = new JList(m1); for(int i=0;i<=vet.length-1;i++) m1.addelement(vet[i]); m1.addelement("carla"); Insere os elementos do vetor na lista, ao terminar insere uma string unitária. 26

setvisiblerowcount() Determina o número de itens que devem aparecer na lista. Exemplo : <ObjetoLista>.setVisibleRowCount(int); 27

setselectionmode() Determina como será o comportamento de seleção em uma lista. Exemplo : <ObjetoLista>.setSelectionMode( Constantes_Java ); 28

Constantes do comportamento da lista ListSelectionModel.SINGLE_SELECTION Determina que somente um item da lista poderá ser selecionado. ListSelectionModel.MULTIPLE_INTERVAL_SELECTION Determina que vários itens da lista poderão ser selecionados. 29

JScrollPane Coloca uma barra de rolagem na caixa de lista. Exemplo : JScrollPane rola = new JScrollPane(lista); Obs : lista vem a ser o objeto caixa de lista. 30

Exemplo do construtor public preenchelista(){ Container tela = getcontentpane(); FlowLayout layout = new FlowLayout(); tela.setlayout(layout); m1 = new DefaultListModel(); lista = new JList(m1); lista.setvisiblerowcount(3); rola = new JScrollPane(lista); lista.setselectionmode(listselectionmodel.single_selection); TrataEv trat = new TrataEv(); btn = new JButton("Ok"); btn.addactionlistener(trat); tela.add(rola); tela.add(btn); setsize(300,200); setvisible(true); } 31

Preenchimento de um combo class TrataEv implements ActionListener { public void actionperformed(actionevent e) { } } Object botao = e.getsource(); if(botao == btn){ for(int i=1;i<=5;i++) m1.addelement("aula"+i); } 32

Capturando os elementos da lista. m1.addelement("carla"); Object v[ ] = lista.getselectedvalues(); for(int i=0;i<=v.length-1 ;i++) System.out.println(v[i].toString()); 33

getselectedindex() Captura o índice selecionado em uma lista.retornando um valor inteiro de (0..*) correspondente aos itens, caso não selecione nenhum item o valor será (-1). Exemplo : int x = lista.getselectedindex(); 34

Removendo todos itens da lista <objdeflist>.clear(); Exemplo : DefaultListModel m1= new DefaultListModel(); m1.clear(); 35

Removendo um item da lista <objdeflist>.remove(); Exemplo : DefaultListModel m1= new DefaultListModel(); m1.remove(int indice); 36

getsize() Retorna o número de items da lista. Exemplo : DefaultListModel m1= new DefaultListModel(); int x = m1.getsize(); Será retornado um número inteiro que corresponde a quantidade de itens da lista. 37

Método : getmodel() Retorna um objeto da classe DefaultListModel permitindo realizar o tratamento da lista mesmo não havendo um objeto Model criado para lista. Exemplo: DefaultListModel s = lista.getmodel(); 38

getelementat() Captura um elemento da lista mediante a um índice informado. Sintaxe: String str = obj.getelementat(<expn>); 39

Exemplo Prático Object botao = e.getsource(); if(botao == btn){ for(int i=0;i<=lista.getmodel().getsize()-1;i++) System.out.println(lista.getModel().getElementAt(i)); } O exemplo abaixo pode ser usado para os objetos (JComboBox ou JLista) 40

JComboBox() Esta classe permite desenhar uma caixa de combinação. Exemplo : lista =new JComboBox (vetor); 41

Exemplo : String vet[] = { Ana", Paula", Flavia"}; lista =new JComboBox (vet); Preenche a lista de combinação com os elementos do vetor(vet). 42

Exemplo no construtor public caixacombo(){ Container tela = getcontentpane(); FlowLayout layout = new FlowLayout(); tela.setlayout(layout); String vet[] = {"Amarelo", "Azul", "Branco","Preto","Vermelho"}; combo= new JComboBox(vet); btn = new JButton("Ok"); btn.addactionlistener(new TrataEv()); tela.add(combo); tela.add(btn); setsize(300,100); setvisible(true); } 43

Adicionando um item em caixa de combinação em tempo de execução additem() : Método que adiciona um elemento em uma caixa de combinação. Exemplo: <objeto>.additem(<string>); 44

Exemplo: Caixa Combinação sem dados class caixac extends JFrame{ JComboBox combo; JButton btn; JScrollPane rola; public caixac(){ Container tela = getcontentpane(); FlowLayout layout = new FlowLayout(); tela.setlayout(layout); combo= new JComboBox(); btn = new JButton("Ok"); btn.addactionlistener(new TrataEv()); tela.add(combo); tela.add(btn); } setsize(300,100); setvisible(true); 45

getitemcount() : Retornando o número de itens de um combobox Sintaxe: int nitens = <objeto>.getitemcount(); Exemplo: int nitens = combo.getitemcount(); 46

Criação de caixa de combinação com recursos de edição Sintaxe : <objlista>.seteditable(boolean); Exemplo : lista.seteditable(true); Neste caso a caixa de combinação irá permitir que seja digitado uma informação. 47

Capturando informações de Combo ou lista String s = lista.getselectedvalue().tostring(); ou String s = combo.getselecteditem().tostring(); 48

Adicionando dados em JComboBox() Para adicionar podemos usar o método additem() : Mas JComboBox() pede um objeto para inserir na lista, criase um método para realizar essa tarefa: private Object makeobj(final String item) { return new Object() { public String tostring() { return item; } }; } 49

JPasswordField() Permite realizar a digitação de caracteres que não serão apresentados na caixa de entrada, exemplo uma senha. Exemplo : JPasswordField caixasenha = new JPasswordField (10); 50

Método: setechochar() Determina qual o caractere poderá ser apresentado no momento da digitação da caixa. Exemplo : Padrão ( * ) caixasenha.setechochar( #'); 51

Método: getpassword() Captura a senha de uma caixa de JPasswordField, esse método irá retorna um vetor de caracteres precisando ser convertidos em String. Exemplo : String senha = new String(caixasenha.getPassword() ); 52

Criando caixa de verificação JCheckBox () Permite criar uma caixa de verificação. JCheckBox obj = new JCheckBox (String); Método : obj.setselected(boolean) Permite determinar se caixa será ou não selecionada. 53

Exemplo : JLabel rotulo = new JLabel("Escolha sua Linguagem : "); primeira = new JCheckBox ("Java"); segunda = new JCheckBox ("C++"); terceira = new JCheckBox ("Delphi"); tela.add(rotulo); painel = new JPanel(); tela.add(painel,borderlayout.center); painel.add(primeira); primeira.setselected(true); painel.add(segunda); painel.add(terceira); 54

Resultado do programa primeira.setselected(true); 55

Método : isselected() Retorna verdadeiro caso um item da caixa de verificação ou botão de rádio esteja selecionado. Exemplo : boolean a = objchk.isselected(); 56

Criando botões de rádio JRadioButton () Permite criar botões de rádio. Exemplo: JRadioButton objr = new JRadioButton (String); 57

Agrupa botões de rádio ButtonGroup() Permite criar o agrupamento para que se possa selecionar apenas um botão de rádio. Exemplo : ButtonGroup grupo = new ButtonGroup(); 58

Exemplo criação de botões de Rádio JRadioButton primeira = new JRadioButton ("Java"); JRadioButton segunda = new JRadioButton ("C++"); JRadioButton terceira = new JRadioButton ("Delphi"); // Grupo... ButtonGroup grupo = new ButtonGroup(); grupo.add(primeira); grupo.add(segunda); grupo.add(terceira); primeira.setselected(true); 59

Resultado do programa primeira.setselected(true); 60

JDialog Criação de um Formulário JDialog : Criação de um formulário sem icone de dimensionamento e Minimização. Esse tipo de formulários são chamados de formulário (Modal) 61

Construtor JDialog JDialog obj = new JDialog(Frame ow, String titulo, boolean modal); Frame : Objeto que determina a janela em qual Janela pode ser aberta. Titulo : String que determina o título da Janela que será aberta. Boolean : Parametro que determina se a janela será modal ou não. 62

Criação de uma classe herança de JDialog. class formmodal extends JDialog { : : : } 63

Exemplo prático: private class TratEvento implements ActionListener { public void actionperformed(actionevent evento) { Object clica = evento.getsource(); if(clica == btn1) new janela(null,"teste",true); } } 64

Construtor public class janela extends JDialog { public janela(frame ow, String titulo, boolean modal){ super(ow,titulo,modal); Container JANELA = getcontentpane(); JANELA.setLayout(null); } setsize(400,300); setvisible(true); Acoplamento Dinâmico 65

Centralizando um Formulário setlocationrelativeto() Ajusta um formulário no centro da tela. Devendo ser declarado após a definição do tamanho do formulário. Exemplo: setsize(400,300); setlocationrelativeto(null); 66

Exemplo Saída 67

Exemplo prático: Criando a mensagem com título, mtype é zero porque já existe um ícone de dados. Exemplo: ImageIcon icone = new ImageIcon("salvar.jpg"); JOptionPane.showMessageDialog(null, Ola Mundo!!!","Titulo",0,icone); 68

Exemplo : public static void main(string args[]){ Controle5 app = new Controle5(); app.setdefaultcloseoperation(jframe.exit_on_close); } Obs : Ao selecionar a opção fechar no formulário todos os componentes serão cancelados e o controle retorna para o sistema operacional que esta sendo usando pelo usuário. 69

Tratamento de Eventos Evento vem ser uma execução de código disparado por uma ação. Um dos eventos mais conhecidos e usados e a seleção do Mouse em um objeto ou seja (Click). Exemplo : Método <obj>.addmouselistener( ) Objeto vem a set a instância de um Botão, Label, caixa de lista caixa de texto etc. 70

Manipulador e Adaptador Eventos addmouselistener( ) Instância da classe JButton, JLabel, etc new MouseAdapter() mouseclicked() Código de programa Obs : O método addmouselistener() deve ser escrito dentro da classe de interface. 71

nome = new JTextField(10); tela.add(nome); nome.setbounds(10,25,200,20); JButton btn = new JButton("Ok"); btn.setbounds(10,45,70,20); Exemplo btn.addmouselistener( new MouseAdapter() { public void mouseclicked(mouseevent evento) { JOptionPane.showMessageDialog(null,nome.getText()); } } ); // Parenteses 72

String txt = ((JButton) (evento.getsource())).gettext(); Permite fazer a captura de um objeto selecionado como evento pelo usuário. Exemplo: } public void mouseclicked(mouseevent evento) { String txt = ((JButton) (evento.getsource())).gettext(); if(txt.equals( Sair")) System.exit(0); 73

ActionListener Cria uma classe que implementa uma interface para realizar a comunicação com método actionperformed(). JFrame addactionlistener( new Eventos ) 1 1..* <<implements>> - ActionListener void actionperformed(actionevent evento) 74

Exemplo da Classe TratEvento private class TratEvento implements ActionListener { public void actionperformed(actionevent evento) { if(evento.getsource()== btn1) JOptionPane.showMessageDialog(null,"Ok Botão 1 foi pressionado!!!"); if(evento.getsource()== btn2) System.exit(0); } } Obs : A classe deve ser implementada dentro da classe que implementa a herança da classe JFrame. 75

JButton btn1,btn2; public controle6() { Container tela = getcontentpane(); FlowLayout layout = new FlowLayout(FlowLayout.RIGHT,20,10); layout.setalignment(flowlayout.center); tela.setlayout(layout); } TratEvento trat = new TratEvento(); btn1 = new JButton("Ok"); btn2 = new JButton("Sair"); tela.add(btn1); tela.add(btn2); btn1.addactionlistener(trat); btn2.addactionlistener(trat); setsize(300,100); setvisible(true); private class TratEvento implements ActionListener { public void actionperformed(actionevent evento) { if(evento.getsource()== btn1) JOptionPane.showMessageDialog(null,"Ok Botão 1 foi pressionado!!!"); if(evento.getsource()== btn2) System.exit(0); } } 76

Manipulação de Arquivo de dados (texto). Em Java para manipularmos cadeias de dados streams existem classes para podermos implementar aplicações com esse recursos. E essas classes estão disponíveis em um pacote denominado io.*. Um stream vem a ser uma cadeia de caracteres. Exemplo : import java.io.*; 77

Pacotes de (io) import java.io.bufferedreader; import java.io.file; import java.io.filenotfoundexception; import java.io.filereader; import java.io.filewriter; import java.io.ioexception; 78

Para abrir um arquivo para leitura devemos usar a classe FileInputStream. Exemplo : FileInputStream f1; f1 = new FileInputStream("arq.txt"); Obs : Referência o nome do arquivo. 79

Para acessar um arquivo de dados que já foi referenciado devemos usar a classe DataInputStream. Exemplo : DataInputStream i1; i1 = new DataInputStream(f1); Após usamos os métodos DataInputStream, FileInputStream e FileOutputStream poderemos gravar ou ler os dados de um arquivo. 80

PrintStream() - Abrindo um arquivo para gravação. Exemplo : f1 = new FileOutputStream("arq.txt"); PrintStream grava; grava = new PrintStream(f1); 81

Para mover uma linha de dados para um arquivo de texto usamos o método prinln() ou print() com a instância da classe PrintStream(). Exemplo : PrintStream grava; grava = new PrintStream(f1); grava.println("string"); 82

Exemplo de um programa que faz a gravação de dados em um arquivo texto. import java.io.*; class grava { public static void main(string args[]){ FileOutputStream f1; PrintStream grava; try { f1 = new FileOutputStream("cadastro.txt"); grava = new PrintStream(f1); grava.println("mariana da Silva"); // Gravacao de dados... } grava.println("joselina Pereira"); grava.println("arquimede Silveira"); catch(exception e) { System.out.println("Erro no arquivo!!! "); } } } 83

Leitura de dados em arquivo de texo 84

Para ler uma linha de dados de um arquivo de texto usamos o método readline(); Exemplo : Fazendo a leitura de uma linha de um arquivo texto. FileInputStream f1; DataInputStream i1; f1 = new FileInputStream("arq.txt"); i1 = new DataInputStream(f1); String str = i1.readline(); 85

Leitura de um arquivo de texto. import java.io.*; class leitura { public static void main(string args[]){ FileInputStream f1; DataInputStream i1; try { f1 = new FileInputStream("teste.txt"); i1 = new DataInputStream(f1); String str = i1.readline(); while( str!= null ) { System.out.println(str); str = i1.readline(); } } catch(exception e) { System.out.println("Erro no arquivo!!! "); } } } 86

Armazenando dado no final do arquivo. 87

Classe FileWrite FileWriter fw = new FileWriter(<ExpS>, <ExpB>); <ExpS> => Nome do arquivo. <ExpB> => Expressão booleana que determina se as informações irão para o final do arquivo. 88

write() Envia o dado para o arquivo de texto especificado. objetofilewrite.write(<exps>); <ExpS> - Determina a string que será enviada para o arquivo de texto. 89

close(); Fecha e armazena os dados do Buffer em disco. objetofilewrite.close(); 90

Exemplo : Inserção em arquivo de texto. import java.io.*; public class Addtexto { public static void main(string arquivo[]) throws IOException { FileWriter fw = new FileWriter(arquivo[0], true); fw.write(arquivo[1]+"\n"); fw.close(); } } 91

Acesso a Banco de Dados Usando Java 92

import java.sql.*; Para utilizar uma aplicação JDBC(Java DataBase Connection). É necessário importar o pacote (sql) para que se possa usar os recurso de acesso ao banco de dados. 93

Comunicação com Banco Dados Sistema Operacional Aplicação (Java) JDBC Driver de ODBC Banco de Dados 94

Class.forName() Instanciando um Driver padrão para que o Java possa reconhecer qual tipo de Drive o sistema operacional usado irá buscar no momento da execução do programa. Exemplo : Class.forName("com.mysql.jdbc.Driver"); 95

Exemplo de Conexão Class.forName("com.mysql.jdbc.Driver"); Seria o Driver de conexão entre o banco de dados e as instruções SQL. 96

DriverManager Sua principal responsabilidade é manter uma lista de implementações de driver e apresentar a uma aplicação que responda a URL requisitada. Autenticação Banco, Senha, Usuário DriverManager 97

Função do Driver ODBC Aplicação DriverManager Data Warehouse Banco Dados Banco Dados Banco Dados Access Oracle SQL-SERVER 98

Connection A Classe Connection permite representar uma única conexão de banco de dados lógico. Ou seja, você usa a classe Connection para enviar uma série de instruções SQL ao banco de dados e controlar o registro ou aborto das instruções. 99

Exemplo : DriverManager String c_user= root ; String c_senha=""; String c_fonte="jdbc:mysql://localhost/nomebancodedados"; Connection con; con=drivermanager.getconnection(c_fonte,c_user,c_senha); 100

Statement Cria uma conexão física direta com a base dados reconhecida por DriverManager, fazendo com que as instruções SQL possam ser enviadas ao banco de dados especificado. (createstatement()). 101

Exemplo : createstatement() Statement st=con.createstatement(); O método acima permita fazer a conexão lógica com a base de dados. Onde st passa a ser um objeto que poderá ser tratado com uma instrução SQL. 102

Linguagem SQL Vem a ser uma linguagem de manipulação de dados com instruções declarativas que permite facilitar o acesso de (Inserção, Deleção, Consulta e Atualização) e criação em tabelas de bancos de dados. 103

DML(Linguagem Manipulação de Dados). PROGRAMAS API S SGBD D M L DADOS Programadores 104

Instruções Básicas de SQL(DML) Insert - Grava dados em uma tabela. Delete - Apaga dados de uma tabela. Update - Altera dados de uma tabela. Select - Consulta dados de uma tabela. 105

executeupdate() Método que permite executar uma instrução SQL direta ou seja (Delete, Update ou Insert). 106

Exemplo de Insert st.executeupdate( Insert Into Tabela (Nome, Fone) Values ( Ana, 66-6666 ) ); Exemplo de Delete st.executeupdate( Delete From tabela where nome = José da Silva ); Exemplo de Update st.executeupdate( Update Tabela set nomealuno = Maria da Coves Where Codigo = 001 ); 107

Exemplo de Insert com dados sql = insert into consulta(paciente,medico) values( ; sql = sql + + vpaciente +, ; sql = sql + + vmedico + + ) ; int reg = st.executeupdate(str1); 108

Exemplo de Update com dados str1 = update agendamento set nome = + vnome + where codigo = +tcc+ ; int reg = st.executeupdate(str1); 109

Abertura de um cursor para localização em arquivo. Banco Dados Jose Pedro Paulo Roberta ResultSet Movimentação para um tipo de navegação para conjunto de resultados. Realizar a navegação seqüencial no registros do banco de dados(sempre do primeiro para o último). 110

executequery() Método usado para enviar instruções de consulta ao banco de dados ou seja Select. Onde ResultSet será o resultado da consulta. Exemplo : ResultSet rs=st.executequery("select * FROM TABELA"); 111

first() Posiciona o ponteiro no inicio da tabela em um banco de dados. Exemplo : rs.first(); 112

next() Move o ponteiro para o próximo registro em um banco de dados. Exemplo : rs.next(); 113

close() Método close(), fecha uma conexão feita a uma tabela de um banco de dados. Exemplo : con.close() 114

try { try {..} catch() {...} Tratamento de Exceções (Erros). //... Codificação para tratamento do Banco de dados. } catch( SQLException/Exception Objeto) { System.out.println(e.getMessage()); // Tratamento em caso de Erros } 115

try{ String c_user=""; Exemplo String c_senha=""; String c_fonte= Class.forName("com.mysql.jdbc.Driver"); Connection con; Class.forName("jdbc:mysql://localhost/NomeBancodeDados"); con=drivermanager.getconnection(c_fonte,c_user,c_senha); System.out.println("Conexao MS-ACCESS O.K."); Statement st=con.createstatement(); ResultSet rs=st.executequery("select * FROM TABELA1"); while(rs.next()){ String w_nome=rs.getstring("nome"); System.out.println("Nome: " + w_nome.trim() ); } con.close(); } catch( Exception e) { System.out.prinln( Erro na Abertura do banco de Dados ); } 116