Material III-Bimestre Estudo da linguagem Java em

Preview:

DESCRIPTION

Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Programação Orientada a Objetos - III. Material III-Bimestre Estudo da linguagem Java em ambiente gráfico pacote(awt,swing) Manipulação de Banco de Dados Site : http://www1.univap.br/~wagner - PowerPoint PPT Presentation

Citation preview

Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira Fernandes

Disciplina Programação Orientada a Objetos - III

Material III-Bimestre

Estudo da linguagem Java em

ambiente gráfico pacote(awt,swing) Manipulação de Banco de Dados

Site : http://www1.univap.br/~wagner

Prof. Responsável

Wagner Santos C. de Jesus

O que vem a ser o pacote (awt)

Para trabalharmos na linguagem Java com ferramentas para criação e Lay-out de Formulários uma das ferramentas que podemos usar é um pacote gráfico denominado (awt) cujo significado é (Abstract Window ToolKit - Kit de abstração para o trabalho com Janelas). Com essa ferramenta é possível nos trabalharmos com componentes gráficos com botões, caixa de texto etc.

Usando o pacote (awt - Abstract Window Toolkit).

Para usar o componentes desse pacote é necessário importa-lo para seu programa isso é feito usando o comando (import).

Funcionamento (awt)

Usando comando import.

Importando o pacote (awt).

Exemplo : import java.awt.*;

Frame :Criando um formulário para uma aplicação.

Para se criar um formulário em Java usamos uma classe chamda Frame().

Obs : Um Frame pode ser instanciado como qualquer outro objeto mais para criarmos uma estrutura onde todos os objetos serão criados a partir de um Frame usamos o comando extends.

extends - Estendendo uma Classe

extends : Cria uma super classe para o objeto

permitindo que todos os outros estejam

contidos nessa mesma classe.

Estrutura Básica.

public class teste extends Frame{

:

: Criação dos Componentes gráficos

:

}

Exemplo Estrutura Completa :public class teste extends Frame{

public teste() {

: Criação dos Componentes gráficos

:

}

public eventos() {

:

: Criação da Lógica .....

}

public static void main(..........) {

: <Instancia da classe>

}

}

Criando os componentes gráficos

Panel() : Para se adicionar um objeto em qualquer parte da aplicação é necessário a criação de um painel para esse objeto.

Sintaxe :Panel <Nome-Objeto>;

Exemplo :

Panel p1;

:

p1 = new Panel();

Label() : Para se criar um rótulo escrito natela é necessário usar a classe Label().

Sinatxe :

Label <Nome-Objeto>;

Exemplo :

Label L1;

:

L1 = new Label("Mensagem Enviada .... ");

Button() : Para se cria um objeto botão é necessário usar a classe button.

Sintaxe :

Button <Objeto>;

Exemplo :

Button Botao1;

:

Botao1 = new Button("Ok");

TextField() : Classe que permite a criação de uma caixa de texto.

Sintaxe :

TextField <Objeto>;

Exemplo :

:

TextField text1;

text1 = new TextField("Mensagem",10);

Obs : A string mensagem irá aparecer na caixa de texto e o valor 10 é

o tamanho da caixa de texto.

Métodos setLayout() :

Para se criar um formulário é necessário dizer que tipo de formulário

estamos usando, para isso usamos o método setLayout().

Sintaxe :

setLayout(<tipo-do-formulário>);

Obs : Os tipos de formulários são Fluxo, Borda, Grade. Sendo que iremos

tratar apenas com o estilo de Bordas.

Exemplo setLayout()

Exemplo :

setLayout( new BorderLayout());

O layout de borda é representado pelos pontos cardeais da seguinte maneira.

Criando as coordenadas para o Formulário.

add() : Associa um objeto a um outro no caso

um Painel.

Sinatxe :

add(<coord>,<Objeto>); ou <objeto>.add(<Objeto>);

Criando os Objetos em um formulário

(Instanciando os Componentes)

Exemplo Prático da utilização de um objeto. Label()

Panel p1;

Label rotulo1;

:

:

p1 = new Panel();

add("North",p1);

rotulo1 = new Label("Olá Mundo ");

p1.add(rotulo1);

:

:

Exemplo Prático da utilização de um objeto. Button()

Panel p1;

Button btn1;

:

:

p1 = new Panel();

add(”South",p1);

btn1 = new Button(" Ok ");

p1.add(btn1);

:

:

Exemplo Prático da utilização de um objeto. TextField()

Panel p1;

TextField caixa1;

:

:

p1 = new Panel();

add(”North",p1);

caixa1 = new TextField(10);

p1.add(caixa1);

:

:

Criando botões agrupado (botões de radio). Classe CheckboxGroup(). Irá criar um agrupamento para os objetos que serão associados a

CheckboxGroup().

Sintaxe :

CheckboxGroup <objeto>;

Exemplo :

CheckboxGroup grupo;

grupo = new CheckboxGroup();

Checkbox() : Cria objetos botões de radio para escolha do usuário.

Sintaxe :

Checkbox <Objeto>;

<objeto> = new Checkbox(<String>,[<grupo>],<boolean>);

Onde :

<String> - vem a ser a string que vai aparece escrita no formulário.

<grupo> - variável instanciada pela classe CheckBoxGroup.

<boolean> - operador booleano true/false onde deverá que apareça a

bolinha de indicação de escolha.

Exemplo : Botões de Rádio

Exemplo :

:

:

grupo = new CheckboxGroup();

c1 = new Checkbox("Masculino",grupo,false);

c2 = new Checkbox("Feminino",grupo,true);

tela3 = new Panel();

add("North",tela3);

tela3.add(c1);

tela3.add(c2);

Para cria caixa de verificação basta tirar o objeto da classe CheckboxGroup()

Exemplo :

c1 = new Checkbox("Pokemons",false);

c2 = new Checkbox("Poderosas",false);

tela3 = new Panel();

add("North",tela3);

tela3.add(c1);

tela3.add(c2);

Capturando dados de um CheckboxGroup(). (Botão de Rádio)

Usamos os métodos :

getCurrent() - Retorna o objeto que foi selecionado.

getLabel() - Retorna com o rótulo da opção selecionada no Checkbox.

Sintaxe :

<VarString> = <grupo>.getCurrent().getLabel();

Exemplo :

String opcao = grupo.getCurrent().getLabel();

Capturando dados de um Checkbox(). (Caixa de Verificação)

Usamos o método :

getState() - Retona um booleando true/false, true se tiver selecionado

e falso caso não esteja.

Sintaxe :

<boolean> = <objeto>.getState();

Exemplo :

boolaen teste = c1.getState();

Choice() - Classe Choice cria uma caixa de combinação(Combobox).

Sintaxe :

Choice <Objeto>;

:

:

<Objeto> new Choice();

:

:

addItem() - Adiciona itens em uma caixa de combinação ou Lista.

Sintaxe :

<Objeto>.addItem(<String>);

Exemplo : Criação de uma caixa de combinação contendo itens.

Choice combo1;

:

:

combo1 = new Choice();

combo1.addItem("Jose");

combo1.addItem("Paula");

combo1.addItem("Fernanda");

tela3 = new Panel();

add("North",tela3);

tela3.add(combo1);

:

:

List() - A classe List cria um objeto de caixa de lista.

Sintaxe :

:

:

List <Objeto>;

:

<Objeto> = new List(<ExpN>,<Boolean>);

:

:

Onde :

<ExpN> - Número inteiro que representa quantas linhas serão

mostradas pela caixa de lista.

<Boolean> - true/false que indique se a caixa de lista poderá ou

não selecionar mais de um item.

Exemplo : List()

Exemplo :

:

:

lista1 = new List(3,false);

lista1.addItem("Jose");

lista1.addItem("Paula");

lista1.addItem("Fernanda");

lista1.addItem("Marta");

lista1.addItem("Solange");

tela3 = new Panel();

add("North",tela3);

tela3.add(lista1);

:

Capturando dados de uma caixa de lista ou combinação. (getSelectedItem())

Sintaxe :

<VarString> = <Objeto>.getSelectedItem();

Exemplo :

String opcao = lista1.getSelectedItem();

Obs : Retorna para a variável opção com o item selecionado na caixa de

lista.

select(<indice>) : Seleciona automaticamente um elemento da lista.

Sintaxe :

caixadelista.select(<Num>);

Exemplo :

lista1.select(0);

getSelectedIndex() : Retorna com o numero do índice selecionado na lista.

Obs : Caso nenhum item seja selecionado por um usuário o valor retornado será -1.

Sintaxe :

<VarInt> = caixadelista.getSelectedIndex();

Exemplo :

int x = lista1.getSelectedIndex();

getItemCount(): Retorna o numero de itens da lista.

Sintaxe :

<VarInt> = caixadelista. getItemCount();

Exemplo:

int y = lista1. getItemCount();

getItem(<Indice>): Captura o elemento baseado no índice anteriormente selecionado na lista.

Sintaxe :

<VarString> = caixadelista.getItem(<Indice>);

Exemplo :

int k = lista1.getSelectedIndex();String dado = lista1.getItem(k);

remove(): Apaga um elemento da lista apontado pelo índice selecionado.

Sintaxe :

Caixadelista.remove(<Indice>);Caixadelista.removeAll(); - Remove todos os elementos da lista.

Exemplo :

int k = lista1.getSelectedIndex();lista.remove(k);

Métodos de controle do formulário.

SetTitle() : Define o título do formulário na linha de Título.

Sintaxe :

SetTitle(<String>);

Exemplo :

SetTitle("Awt-Java");

reshape() : Especifica as coordenadas do tamanho do formulário.

Sintaxe :

reshape(x1,y1,x2,y2);

Onde : x1,y1 - São as coordenadas superiores.

x2,y1 - São as coordenadas inferiores. (São dadas em Pixels)

Exemplo :

reshape( 100,100,200,200 );

Exemplo da referencia das coordenadas do formulário.

show() : Método que exibe o formulário na tela.

Exemplo : show();

Obs : Caso o método show() não seja

colocado no programa o formulário

não será exibido.

setResizable() - Ativa ou desativa a propriedade de restaurar o

formulário.(true/false)

Sintaxe :

setResizable(<boolean>);

Exemplo : setResizable(false);

setEnabled() - Habilita ou desabilita um determinado objeto. (true/false)

Sintaxe :

<Objeto>.setEnabled(<Boolean>);

Exemplo : Método setEnabled()

Exemplo

:

:

tela2 = new Panel();

b1 = new Button(" OK ");

add("South",tela2);

tela2.add(b1);

b1.setEnabled(false);

:

:

Classes para controle de cores e fontes.

Color() - Para se setar a palheta de cores para um objeto é preciso criar um objeto de cores com a classe Color() que trabalha no padrão RGB.

Sintaxe : (Instancia)

Color cor = new Color(R,G,B);

Demonstração da Tabela RGB abaixo.

Métodos que ligam a paleta de cores.

setBackground() - Ativa a cor no fundo do

objeto.

setForeground() - Ativa a cor na borda

(letra) do objeto.

Sintaxe :

<Objeto>.setBackground(<Objeto-cor>);

ou

<Objeto>.setForeground(<Objeto-cor>);

Exemplo : setBackground()

: tela1 = new Panel();

Label label1 = new Label("Testando Cor");

add("North",tela1);

tela1.add(label1);

Color corlabel = new Color(255,0,0);

label1.setBackground(corlabel);

:

Exemplo : setForeground()

Exemplo : setForeground()

:

tela1 = new Panel();

Label label1 = new Label("Testando Cor");

add("North",tela1);

tela1.add(label1);

Color corlabel = new Color(255,0,0);

label1. setForeground (corlabel);

:

Font() - Criando Fonte com a classe Fonte.

Sinatxe :

Font <Objeto> = new Font(<Letra>,<Estilo>,<Tamanho>);

setFont() - Para aplicar a fonte desejada para um objeto é necessário usar

o método setFont();

Exemplo : Método setFont()

: :

tela1 = new Panel();

Label label1 = new Label("Testando Cor");

add("North",tela1);

tela1.add(label1);

Font fonte = new Font("Times New Romam",Font.ITALIC,12);

label1.setFont(fonte);

:

:

Resultado do Método : setFont()

SetText()/getText() : setText() Envia uma String para um objeto Botão, Rótulo ou caixa de texto. getText() - captura dados de um objeto.

Sintaxe :

<Objeto>.setText(<String>);

Exemplo :

label1.setText("Olá Mundo");

String s = label1.getText();

Trabalhando com Evento Básicos.

Para se tratar com eventos em Java usa-se dois métodos principais. (boolean) action e handleEvent()

action() Sintaxe do Método :

public boolean action(Event evt, Object ob) {

:

: <Código>

return true;

}

handleEvent() Sintaxe do Método :

public boolean handleEvent (Event evt) {

:

: <Código>

return true;

}

Exemplo Método action()

Exemplo Método action() :

public boolean action(Event evt, Object ob)

{

if("Sair".equals(ob))

System.exit(0);

return true;

}

Exemplo do Método : handleEvent ()

Exemplo Método handleEvent () :

public boolean handleEvent(Event evt)

{

switch(evt.id)

{

case Event.ACTION_EVENT:

if("Sair".equals(evt.arg))

System.exit(0);

if("Ok".equals(evt.arg))

text1.setEnabled(true);

return true;

case Event.WINDOW_DESTROY:

System.exit(0);

return true;

}

return true;

}

Programa Exemploimport java.lang.*;

import java.awt.*;

public class matl extends Frame {

Panel tela;

Panel pbotao;

Label rotulo;

Button b1;

Font f1;

public matl()

{

setLayout(new BorderLayout());

tela = new Panel();

rotulo = new Label();

add("Center",tela);

rotulo.setText("Ola Mundo");

tela.add(rotulo);

// Cria Botao

pbotao = new Panel();

add("South",pbotao);

b1 = new Button("Mostra");

pbotao.add(b1);

Button b2 = new Button("Sair");

pbotao.add(b2);

f1 = new Font("Time New Roman",Font.ITALIC,12); // Tamanho da fonte e tipo

rotulo.setFont(f1);

Color cor = new Color(214,205,194);

setBackground(cor);

reshape(10,10,200,200); // Tamanho da tela.

show(); // Exibe Formulario na tela.

}

public boolean action(Event evt,Object arg)

{

if("Mostra".equals(arg))

rotulo.setText("Ola Turma");

if("Sair".equals(arg))

System.exit(0);

return true;

}

public static void main(String args[])

{

new matl();

}

}

Swing

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

awt

SwingApplet

Aplicação

Desenhar

Para implementar uma aplicação usando Swing é necessário importa o pacote.

Exemplo :

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

Criando um objeto (Componente)

Para se cria um objeto de formulário usando o pacote Swing é necessário adicional a letra (J) na frente do componente.

Exemplo : JFrame, JButton, JLabel etc.

Container

Component

List Button Container Label CheckBox

Window

Frame

JComponent

JLabel

JButton

J(.......)

Container A classe Container permite criar umm container para um futuro objeto em tela.

Instância com método : getContentPane();

Container tela = getContentPane();

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

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);

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”);

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);

setSize() : Define o tamanho do formulário.

Exemplo :

setSize(200,100); // Coluna 200 linha 100

setVisible() : Exibe o formulário em modo Swing

Exemplo :

setVisible(true); // Exibição do Formulário.

Exemplo prático :

JLabel Obj = new JLabel(“projeto”,”MAbrir.gif”,JLabel.LEFT);

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);

Método: setEchoChar()

Determina qual o caractere poderá ser apresentado no momento da digitação da caixa.

Exemplo : Padrão ( * )

caixasenha.setEchoChar(‘#');

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() );

showMessageDialog()Imprime uma mensagem sem forma enviada como parâmetro, sendo os parâmetros opcionais.

Sintaxe : Construtor

JOptionPane.showMessageDialog( janela, Msg, [Títlo, mType, Icon] );

Exemplo Saída

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.

Manipulador e Adaptador Eventos

addMouseListener( )

new MouseAdapter()

mouseClicked()

Instância da classe

JButton, JLabel, etc

Código de programa

Obs : O método addMouseListener() deve ser escrito dentro da classe de interface.

Exemplonome = new JTextField(10); tela.add(nome);nome.setBounds(10,25,200,20);

JButton btn = new JButton("Ok"); btn.setBounds(10,45,70,20);

btn.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent evento) {

JOptionPane.showMessageDialog(null,nome.getText()); } }); // Parenteses

Manipulação de Banco de Dados

Conectando a uma Base de dados usando o dispositivo de controle ODBC e o pacote sql(JDBC).

Aplicação

JDBCDriver-ODBC Banco

Dados

Visão

(Interface)Controle Aplicação

Aplicação Orientada a Objetos

Padrão MVC (Module View Control)

B r

o w

s e

r servlet

JSP

awt

Swing

APPLET

JavaBeans

Banco Dados

Visão da Aplicação Java

JVM

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.

Comunicação com Banco Dados

Sistema Operacional

Driver de ODBC

Banco de Dados

Aplicação (Java)

JDBC

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("sun.jdbc.odbc.JdbcOdbcDriver");

Exemplo de Conexão

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Seria a variável de conexão entre o banco de dados e as instruções SQL.

DriverManagerSua principal responsabilidade é manter uma lista de implementações de driver e apresentar a uma aplicação que responda a URL requisitada.

Autenticação DriverManagerBanco, Senha, Usuário

Aplicação DriverManager

Banco Dados Banco Dados Banco Dados

Access Oracle SQL-SERVER

Data Warehouse

Função do Driver ODBC

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.

Exemplo : DriverManager

String c_user=“root”

String c_senha="";

String c_fonte="jdbc:odbc:Banco";

Connection con;

con=DriverManager.getConnection(c_fonte,c_user,c_senha);

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

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.

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.

DML(Linguagem Manipulação de Dados).

PROGRAMAS API´S

DADOS

D M LSGBD

Programadores

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.

executeUpdate()

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

Exemplo de Delete st.executeUpdate(”Delete From tabela where nome = ‘José da Silva’ “);

Exemplo de Insertst.executeUpdate(”Insert Into Tabela (Nome, Fone) Values ( ‘Ana’ , ’66-6666’ ) “);

Exemplo de Update st.executeUpdate(”Update Tabela set nomeAluno = ‘Maria da Coves’

Where Codigo = ‘001’ “);

Exemplo de Insert com dados

sql = “insert into consulta(paciente,medico) values( “ ;

sql = sql + “ ‘ “ + vpaciente + “ ‘, “ ;

sql = sql + “ ‘ “ + vmedico + “ ‘ “+” ) ” ;

int reg = st.executeUpdate(str1);

Exemplo de Update com dados

str1 = “update agendamento set nome = ‘ “+ vnome + “ ‘ where codigo = ‘ “ +tcc+ “ ‘ “;

int reg = st.executeUpdate(str1);

Abertura de um cursor para localização em arquivo.

Jose

Pedro

Paulo

Roberta

Banco Dados

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

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");

first()

Posiciona o ponteiro no inicio da tabela em um banco de dados.

Exemplo :

rs.first();

next()

Move o ponteiro para o próximo registro em um banco de dados.

Exemplo :

rs.next();

close()

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

Exemplo : con.close()

try { ..} catch() {...}Tratamento de Exceções (Erros).

try {

//..... Codificação para tratamento do Banco de dados.

}

catch( SQLException/Exception Objeto) {

System.out.println(e.getMessage());

// Tratamento em caso de Erros

}

Exemplo try{ String c_user=“root";

String c_senha=""; String c_fonte="jdbc:odbc:Banco";

Connection con; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 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”); }

Recommended