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
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 na
tela é 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>
handleEvent() Sintaxe do Método :
return true;
}
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 Exemplo
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);
// 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.
Aplicação
awt
Applet
Swing
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
JComponent
Window
JLabel
Frame
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( )
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.
Exemplo
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.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
JDBC
Driver-ODBC
Banco
Dados
Aplicação Orientada a Objetos
Padrão MVC (Module View Control)
Visão
(Interface)
Controle
Aplicação
Browser
Visão da Aplicação Java
servlet
JSP
awt
Swing
JVM
JavaBeans
APPLET
Banco
Dados
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.
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
DriverManager
Banco, Senha,
Usuário
Função do Driver ODBC
Aplicação
Data Warehouse
DriverManager
Banco Dados
Access
Banco Dados Banco Dados
Oracle
SQL-SERVER
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
SGBD
DML
DADOS
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 Insert
st.executeUpdate(”Insert Into Tabela (Nome, Fone) Values ( ‘Ana’ , ’666666’ ) “);
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’ “);
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.
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).
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
}
try{
Exemplo
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”); }
Download

3 Bim- Estudo da linguagem Java em Ambiente Gráfico