Title: Universidade do Vale do Para
1Universidade do Vale do ParaíbaColégio Técnico
Antônio Teixeira FernandesDisciplina 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
2O 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.
3Usando 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).
4Funcionamento (awt)
5Usando comando import.
- Importando o pacote (awt).
- Exemplo import java.awt.
-
6Frame 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.
7extends - Estendendo uma Classe
- extends Cria uma super classe para o objeto
- permitindo que todos os outros estejam
- contidos nessa mesma classe.
8Estrutura Básica.
- public class teste extends Frame
-
- Criação dos Componentes gráficos
-
-
9Exemplo 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(..........)
- ltInstancia da classegt
-
-
-
10Criando 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.
11Sintaxe Panel ltNome-Objetogt
- Exemplo
- Panel p1
-
- p1 new Panel()
12Label() Para se criar um rótulo escrito natela
é necessário usar a classe Label().
- Sinatxe
- Label ltNome-Objetogt
- Exemplo
- Label L1
-
- L1 new Label("Mensagem Enviada .... ")
13Button() Para se cria um objeto botão é
necessário usar a classe button.
- Sintaxe
- Button ltObjetogt
- Exemplo
- Button Botao1
-
- Botao1 new Button("Ok")
14TextField() Classe que permite a criação de
uma caixa de texto.
- Sintaxe
- TextField ltObjetogt
- 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.
15Mé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(lttipo-do-formuláriogt)
- Obs Os tipos de formulários são Fluxo, Borda,
Grade. Sendo que iremos - tratar apenas com o estilo de Bordas.
16Exemplo setLayout()
- Exemplo
- setLayout( new BorderLayout())
17O layout de borda é representado pelos pontos
cardeais da seguinte maneira.
18Criando as coordenadas para o Formulário.
- add() Associa um objeto a um outro no caso
- um Painel.
- Sinatxe
- add(ltcoordgt,ltObjetogt) ou
ltobjetogt.add(ltObjetogt)
19-
- Criando os Objetos em um formulário
- (Instanciando os Componentes)
20Exemplo 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)
-
-
21Exemplo 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)
-
-
22Exemplo 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)
-
-
23Criando botões agrupado (botões de radio).
Classe CheckboxGroup(). Irá criar um agrupamento
para os objetos que serão associados a
CheckboxGroup().
- Sintaxe
- CheckboxGroup ltobjetogt
- Exemplo
- CheckboxGroup grupo
- grupo new CheckboxGroup()
24Checkbox() Cria objetos botões de radio para
escolha do usuário.
- Sintaxe
- Checkbox ltObjetogt
- ltobjetogt new Checkbox(ltStringgt,ltgrupogt,ltboolea
ngt) - Onde
- ltStringgt - vem a ser a string que vai aparece
escrita no formulário. - ltgrupogt - variável instanciada pela classe
CheckBoxGroup. - ltbooleangt - operador booleano true/false onde
deverá que apareça a - bolinha de indicação de escolha.
25Exemplo 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)
26Para 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)
27Capturando 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
- ltVarStringgt ltgrupogt.getCurrent().getLabel()
- Exemplo
- String opcao grupo.getCurrent().getLabel()
28Capturando 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
- ltbooleangt ltobjetogt.getState()
- Exemplo
- boolaen teste c1.getState()
29Choice() - Classe Choice cria uma caixa de
combinação(Combobox).
- Sintaxe
- Choice ltObjetogt
-
-
- ltObjetogt new Choice()
-
-
- addItem() - Adiciona itens em uma caixa de
combinação ou Lista. - Sintaxe
- ltObjetogt.addItem(ltStringgt)
30Exemplo 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)
-
-
31List() - A classe List cria um objeto de caixa de
lista.
- Sintaxe
-
-
- List ltObjetogt
-
- ltObjetogt new List(ltExpNgt,ltBooleangt)
-
-
- Onde
- ltExpNgt - Número inteiro que representa quantas
linhas serão - mostradas pela caixa de lista.
- ltBooleangt - true/false que indique se a caixa de
lista poderá ou - não selecionar mais de um item.
32Exemplo 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)
-
33Capturando dados de uma caixa de lista ou
combinação. (getSelectedItem())
- Sintaxe
- ltVarStringgt ltObjetogt.getSelectedItem()
- Exemplo
- String opcao lista1.getSelectedItem()
- Obs Retorna para a variável opção com o item
selecionado na caixa de - lista.
34select(ltindicegt) Seleciona automaticamente um
elemento da lista. Sintaxe caixadelista.se
lect(ltNumgt) Exemplo lista1.select(0)
35getSelectedIndex() 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 ltVarIntgt
caixadelista.getSelectedIndex() Exemplo int
x lista1.getSelectedIndex()
36getItemCount() Retorna o numero de itens da
lista. Sintaxe ltVarIntgt caixadelista.
getItemCount() Exemplo int y lista1.
getItemCount()
37getItem(ltIndicegt) Captura o elemento baseado no
índice anteriormente selecionado na
lista. Sintaxe ltVarStringgt
caixadelista.getItem(ltIndicegt) Exemplo int
k lista1.getSelectedIndex() String dado
lista1.getItem(k)
38remove() Apaga um elemento da lista apontado
pelo índice selecionado. Sintaxe
Caixadelista.remove(ltIndicegt) Caixadelista.rem
oveAll() - Remove todos os elementos da
lista. Exemplo int k lista1.getSelectedIndex
() lista.remove(k)
39Métodos de controle do formulário.
- SetTitle() Define o título do formulário na
linha de Título. - Sintaxe
- SetTitle(ltStringgt)
- Exemplo
- SetTitle("Awt-Java")
40reshape() 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 )
41Exemplo da referencia das coordenadas do
formulário.
42show() 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.
43setResizable() - Ativa ou desativa a propriedade
de restaurar oformulário.(true/false)
- Sintaxe
- setResizable(ltbooleangt)
- Exemplo setResizable(false)
44setEnabled() - Habilita ou desabilita um
determinado objeto. (true/false)
- Sintaxe
- ltObjetogt.setEnabled(ltBooleangt)
45Exemplo Método setEnabled()
- Exemplo
-
-
- tela2 new Panel()
- b1 new Button(" OK ")
- add("South",tela2)
- tela2.add(b1)
- b1.setEnabled(false)
-
-
46Classes 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)
47Demonstração da Tabela RGB abaixo.
48Mé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
- ltObjetogt.setBackground(ltObjeto-corgt)
- ou
- ltObjetogt.setForeground(ltObjeto-corgt)
49Exemplo 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)
-
50Exemplo 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)
-
51Font() - Criando Fonte com a classe Fonte.
- Sinatxe
- Font ltObjetogt new Font(ltLetragt,ltEstilogt,ltT
amanhogt) - setFont() - Para aplicar a fonte desejada para um
objeto é necessário usar - o método setFont()
52Exemplo 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)
-
-
53Resultado do Método setFont()
54SetText()/getText() setText() Envia uma String
para um objeto Botão, Rótulo ou caixa de texto.
getText() - captura dados de um objeto.
- Sintaxe
- ltObjetogt.setText(ltStringgt)
- Exemplo
- label1.setText("Olá Mundo")
- String s label1.getText()
55Trabalhando 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)
-
- ltCódigogt
- return true
-
handleEvent() Sintaxe do Método public boolean
handleEvent (Event evt)
ltCódigogt return true
56Exemplo Método action()
- Exemplo Método action()
- public boolean action(Event evt, Object ob)
-
- if("Sair".equals(ob))
- System.exit(0)
- return true
-
57Exemplo 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
58Programa Exemplo
// 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.
- import 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)
59- 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()
-
-
60Swing
- Vem a um pacote da linguagem Java que se
mistura com awt recursos para construção de
aplicações gráficas.
Aplicação
awt
Swing
Applet
61Desenhar
- Para implementar uma aplicação usando Swing é
necessário importa o pacote. - Exemplo
-
- import javax.swing.
- import java.awt.
- import java.awt.event.
62Criando 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.
63Container
Component
List
Button
Container
Label
CheckBox
JComponent
Window
JLabel
Frame
JButton
J(.......)
64Container
- A classe Container permite criar umm container
para um futuro objeto em tela. - Instância com método getContentPane()
-
- Container tela getContentPane()
65setBounds()
- Determina em que posição de tela serão colocados
os objetos, com relação entre linha e coluna e
tamanho do mesmo. -
- Exemplo
- ltobjetogt.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
-
66Exemplo
- 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)
67JButton 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)
68JLabel - 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)
69setSize() Define o tamanho do formulário.
- Exemplo
- setSize(200,100) // Coluna 200 linha 100
70 setVisible() Exibe o formulário em modo Swing
- Exemplo
- setVisible(true) // Exibição do Formulário.
71Exemplo prático
- JLabel Obj new JLabel(projeto,MAbrir.gif,JLa
bel.LEFT)
72JPasswordField()
- 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)
73Método setEchoChar()
- Determina qual o caractere poderá ser
apresentado no momento da digitação da caixa. - Exemplo Padrão ( )
- caixasenha.setEchoChar(')
74Mé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.getPasswo
rd() )
75showMessageDialog()
- Imprime uma mensagem sem forma enviada como
parâmetro, sendo os parâmetros opcionais. - Sintaxe Construtor
- JOptionPane.showMessageDialog( janela, Msg,
Títlo, mType, Icon )
76Exemplo Saída
77Exemplo
- 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.
78Manipulador e Adaptador Eventos
addMouseListener( )
Instância da classe JButton, JLabel, etc
new MouseAdapter()
Código de programa
mouseClicked()
Obs O método addMouseListener() deve ser
escrito dentro da classe de interface.
79Exemplo
- nome 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.getT
ext()) -
-
-
- ) // Parenteses
80Manipulação de Banco de Dados
- Conectando a uma Base de dados usando o
dispositivo de controle ODBC e o pacote
sql(JDBC).
Aplicação JDBC
Banco Dados
Driver-ODBC
81Aplicação Orientada a Objetos Padrão MVC (Module
View Control)
Visão (Interface)
Controle
Aplicação
82Visão da Aplicação Java
servlet
awt
JVM
B r o w s e r
JavaBeans
JSP
Swing
APPLET
Banco Dados
83import 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.
84Comunicação com Banco Dados
Aplicação (Java) JDBC
Sistema Operacional
Driver de ODBC
Banco de Dados
85Class.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")
86Exemplo 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.
87DriverManager
- Sua principal responsabilidade é manter uma
lista de implementações de driver e apresentar a
uma aplicação que responda a URL requisitada.
Autenticação
DriverManager
Banco, Senha, Usuário
88Função do Driver ODBC
Aplicação
DriverManager
Banco Dados
Banco Dados
Banco Dados
Data Warehouse
SQL-SERVER
Access
Oracle
89 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.
90Exemplo DriverManager
- String c_userroot
- String c_senha""
- String c_fonte"jdbcodbcBanco"
- Connection con
- conDriverManager.getConnection(c_fonte,c_user,c_s
enha)
91 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()).
92Exemplo createStatement()
- Statement stcon.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.
93Linguagem 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.
94DML(Linguagem Manipulação de Dados).
PROGRAMAS APIS
D M L
SGBD
DADOS
Programadores
95Instruçõ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.
96executeUpdate()
- Método que permite executar uma instrução SQL
direta ou seja (Delete, Update ou Insert).
97Exemplo de Delete
Exemplo de Insert
st.executeUpdate(Insert Into Tabela (Nome, Fone)
Values ( Ana , 66-6666 ) )
- 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 )
98Exemplo de Insert com dados
- sql insert into consulta(paciente,medico)
values( - sql sql vpaciente ,
- sql sql vmedico )
- int reg st.executeUpdate(str1)
99Exemplo de Update com dados
- str1 update agendamento set nome vnome
where codigo tcc - int reg st.executeUpdate(str1)
100Abertura de um cursor para localização em arquivo.
ResultSet
Jose Pedro Paulo Roberta
Banco Dados
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).
101executeQuery()
- 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 rsst.executeQuery("SELECT FROM
TABELA")
102first()
- Posiciona o ponteiro no inicio da tabela em um
banco de dados. - Exemplo
- rs.first()
103next()
- Move o ponteiro para o próximo registro em um
banco de dados. - Exemplo
- rs.next()
104close()
- Método close(), fecha uma conexão feita a uma
tabela de um banco de dados. - Exemplo con.close()
105try .. 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
-
106Exemplo
- try String c_userroot"
- String c_senha""
- String c_fonte"jdbcodbcBanco"
-
- Connection con
- Class.forName("sun.jdbc.odbc.JdbcOdbcD
river") - conDriverManager.getConnection(c_font
e,c_user,c_senha) - System.out.println("Conexao MS-ACCESS
O.K.") - Statement stcon.createStatement()
- ResultSet rsst.executeQuery("SELECT
FROM TABELA1") - while(rs.next())
- String w_nomers.getString("nome")
- System.out.println("Nome "
w_nome.trim() ) - con.close()
- catch( Exception e) System.out.prinln(Erro na
Abertura do banco de Dados)