Você está na página 1de 25

CURSO DE SISTEMAS DE INFORMAO.

DESENVOLVIMENTO DE SOFTWARE UTILIZANDO CONCEITOS DE


PROGRAMAO ORIENTADA A OBJETOS

Nome:
Gabriel Guimares
Jamilson Nunes Pereira

RA:
B7831J-0
B9245H-5

Rodrigo Souza Sales

B676EI-6

Rodrigo Junior Silva

B801379

Indce:
1.Objetivo.......................................................................................................03
2. Introduo .................................................................................................04
3. Elementos de programao Orientada a Objetos......................................05
3.1 Abstrao.................................................................................................06
3.2 Encapsulamento. 07
3.3 Herana..08
3.4 Polimorfismo.09
4. Dissertao...........................................................................................10
4.1 Eclipse..11
4.2 JDK...11
4.3 My SQL Connection Java....12
4.4 My SQL Quary Browser...12
5. Projeto (estrutura) do programa ...............................................................13
6. Relatrio com as linhas de cdigo do programa ....................................14
7. Bibliografia ..................................................................................................25

Objetivo
Este trabalho tem como objetivo ampliar o nosso conhecimento sobre a Programao
Orientada a Objetos, trazendo informaes importantes no processo de nossa
aprendizagem, contribuindo para a continuidade do curso de Sistemas da Informao.
Queremos tambm influenciar a reciclagem, atravs de um sistema de armazenamento
de dados sobre produtos para serem reciclados, onde o usurio poder inserir os
dados(Nome, quantidade, descrio) do Produto a ser reciclado, e depois consulta-lo
atravs do Banco de Dados.

Introduo
Programao Orientada ao Objeto (POO), cada vez mais empregada no
desenvolvimento de sistemas, tornando-se o paradigma mais atual em termos de
criao de softwares.
Quem comea a dar os primeiros passos na programao, aprendendo lgica, v-se
estudando programao estruturada (ainda que nesse momento esse tipo de coisa
ainda no seja clara), ao ser apresentado a uma IDE (Ambiente de Desenvolvimento
Integrado), muitas vezes, associa os componentes de construo de interfaces
grficas, como janela, botes etc, como sendo os objetos da POO.
Aqueles componentes, embora, muitas vezes, derivados de POO no tem relao
direta com ela. Em POO um objeto uma abstrao para algo do mundo real, bem
menos palpvel do que o ponteiro do seu mouse sugere. Por exemplo, o ar, que
embora no seja palpvel, possui algumas caractersticas e comportamentos que
permite perceb-lo, como composio, temperatura, movimento, direo, velocidade
etc, estas caractersticas e comportamentos podem ser abstrados em uma classe.
Em outras palavras, Programao Orientao a Objetos, refere-se ao paradigma de
programao onde o desenvolvimento do software regido pelas definies e
relacionamentos entre os objetos que compem o mesmo. Tem como caracterstica
uma maior manutenibilidade em relao a outros mtodos de desenvolvimento, e uma
maior proximidade entre a anlise do problema e a implementao da soluo.
Assim como em programao estruturada, onde costuma-se construir o algoritmo por
meio de diagramas de blocos e portugus estruturado (Portugol), na POO usa- se a
linguagem UML (Linguagem de Modelagem Unificada), para se estruturar as diversas
partes que iro compor o software a ser desenvolvido, essa linguagem composta
apenas de diagramas.

3. Elementos de programao Orientada a Objeto


Programao Orientada ao Objeto (Object- Oriented Programming) pode ser
considerada como uma extenso quase natural da Programao Modular; entretanto a
sigla POO tem causado um certo "frisson" entre a comunidade de Informtica, nos
ltimos anos. Na verdade, isto no deveria acontecer, uma vez que a POO foi
concebida h muito tempo atrs (no inicio da dcada de 70).
A primeira linguagem de programao a implementar sistematicamente os conceitos de
POO foi a linguagem SIMULA-68; em seguida surgiu a linguagem Smalltalk -criada
pela Xerox -, que pode ser considerada a linguagem que popularizou e incentivou o
emprego da POO. Atualmente podemos encontrar verses de Smalltalk para
microcomputadores, o que facilitou enormemente o seu uso, tirando-a dos ambientes
privativos das Universidades. O resultado foi uma linguagem de pura linhagem OO,
poderosssima, que implementa todos os conceitos de OO, o que no acontece com as
chamadas linguagens OO hbridas que implementam apenas alguns conceitos de
orientao ao objeto.
Os "objetos" j existentes so utilizados para produzir novos "objetos", tornando essa
metodologia mais poderosa que as metodologias tradicionais de desenvolvimento de
sistemas. Se consideramos a Orientao ao Objeto como um novo paradigma de
desenho de software, devemos considerar, tambm, uma nova maneira de pensar,
porque apesar de a escrita do cdigo continuar sendo procedural, alguns conceitos
mudam radicalmente: a estruturao e o modelo computacional.
Uma definio para objeto seria a de um "ente" ativo dotado de certas caractersticas
que o tornam "inteligente", a ponto de tomar certas decises quando devidamente
solicitado. Outra definio mais formal para objeto poderia ser: uma unidade dinmica,
composta por um estado interno privativo (estrutura de dados) e um comportamento
(conjunto de operaes). E neste caso, segundo PRICE , um objeto em particular
como um processador com memria prpria e independente de outros objetos. Em
5

termos de implementao, objeto um bloco de dados privados envolvidos por cdigo,


de maneira que o acesso a ele s pode ser feito sob condies especiais. Todo o
comportamento desse "ente" encapsulado descrito atravs de rotinas que manipulam
seus dados, sendo que o seu estado corrente est em seus prprios dados; em outras
palavras, cada objeto tem suas prprias caractersticas, moldadas a partir de uma
matriz. Formalmente, para ser considerada uma linguagem OO, esta precisa
implementar quatro conceitos bsicos: abstrao, encapsulamento, herana e
polimorfismo.
3.1 Abstrao

considerada como a habilidade de modelar caractersticas do mundo real do


problema que o programador esteja tentando resolver. Por exemplo, se o programador
estiver interessado em controlar dados dos clientes de uma empresa, muito mais fcil
lidar com uma linguagem que oferea recursos em que ele possa criar algo chamado
"Cliente" ao invs de recorrer s estruturas de dados tipo array ou record. Nesse
contexto a abstrao refere-se capacidade de modelar o mundo real, e por outro
lado, podemos consider-la como um mecanismo pelo qual restringimos o nosso
universo de anlise e as variveis e constantes que compem esse universo,
desprezando os dados que no nos interessa na anlise.
Podemos demostrar o uso de abstrao facilmente, quando fechamos os olhos e
pensamos em uma mesa; esta mesa imaginria provavelmente no vai ser igual uma
outra imaginada por outras pessoas, mas o que importa que todos as pessoas que
imaginaram uma mesa, colocaram nessa as informaes que para elas so
necessrias para a sua funo (de ser uma mesa). No importa se a mesa de trs
ps ou quatro, ou se o tampo de vidro, madeira ou mrmore; o que importa que a
imagem que idealizamos em nossa cabea de uma mesa e tenha as informaes
necessrias para cumprir sua funo.

3.2 Encapsulamento
a base de toda a abordagem da Programao Orientada ao Objeto; isto porque
contribui fundamentalmente para diminuir os malefcios causados pela interferncia
externa sobre os dados. Partindo desse princpio, toda e qualquer transao feita com
esses dados s pode ser feita atravs de procedimentos colocados "dentro" desse
objeto, pelo envio de mensagens. Desta maneira, dizemos que um dado est
encapsulado quando envolvido por cdigo de forma que s visvel na rotina onde foi
criado; o mesmo acontece com uma rotina, que sendo encapsulada, suas operaes
internas so invisveis s outras rotinas. E at mesmo em linguagens consideradas no
OO, como no caso do Clipper 5.xx, segundo FERREIRA & JARABECK [1], pode-se
observar um certo encapsulamento nas rotinas em que as variveis so declaradas
como LOCAL. Nesses casos tais variveis so visveis somente dentro dessas rotinas
aonde foram declaradas, o que permite ao programador uma certa segurana quanto
aos acessos indevidos por parte de outras rotinas, o que no acontece com variveis
PRIVATE ou PUBLIC, no contexto dessa linguagem. No encapsulamento podemos
visualizar a sua utilidade pensando em um vdeo cassete, onde temos os botes de
liga-desliga, para frente, para traz, etc. Estes botes executam uma srie de operaes
existentes no aparelho, onde so executadas pelos componentes existentes dentro do
aparelho (transistores, cabos, motores, etc.)
Na rea de software as classes podem continuar evoluindo, com aumento de
tecnologia, e os programas que utilizam essas classes continuam compatveis. Isto
ocorre porque a esses programas no interessa saber como o funcionamento interno
da classe e sim sua funo, para que ele possa executar, conforme ela evolui, novas
funes colocadas sua disposio.

3.3 Herana
Do ponto de vista prtico, pode ser entendido como sendo um conjunto de instncias
criadas a partir de um outro conjunto de instncias com caractersticas semelhantes, e
os elementos desse subconjunto herdam todas as caractersticas do conjunto original.
A idia fornecer um mecanismo simples (mas muito poderoso) para que se defina
novas classes a partir de uma j existente. Assim sendo, dizemos que essas novas
classes herdam todos os membros (propriedades+mtodos) da classe-me; isto torna
o mecanismo de herana uma tcnica muito eficiente para construir, organizar e
reutilizar cdigo. Por isso, nas linguagens que no suportam esse mecanismo, as
classes so criadas como unidades independentes: cada uma com seus membros
concebidos do zero (sem vnculo direto com outras classes), o que torna o processo
mais demorado e com cdigos, s vezes, redundantes. Um exemplo de linguagem que
no implementa herana na sua forma clssica o Visual Basic (at a atual verso
desktop 6.0); neste caso o desenvolvedor tem que simular esse mecanismo, usando a
criatividade. A herana possibilita a criao de uma nova classe de modo que essa
classe (denominada subclasse, classe-filha ou classe derivada) herda TODAS as
caractersticas da classe-me (denominada superclasse, classe base ou classe
primitiva); podendo ainda, a classe-filha, possuir propriedades e mtodos prprios.

3.4 Polimorfismo
O termo polimorfismo, etimologicamente, quer dizer "vrias formas"; todavia, na
Informtica, e em particular no universo da OOP, definido como sendo um cdigo que
possui "vrios comportamentos" ou que produz "vrios comportamentos"; em outras
palavras, um cdigo que pode ser aplicado s vrias classes de objetos. De maneira
prtica isto quer dizer que a operao em questo mantm seu comportamento
transparente para quaisquer tipos de argumentos; isto , a mesma mensagem
enviada a objetos de classes distintas e eles podero reagir de maneiras diferentes.
Um mtodo polimrfico aquele que pode ser aplicado s vrias classes de objetos
sem que haja qualquer inconveniente. o caso por exemplo, do mtodo Clear em
Delphi, que pode ser aplicado tanto classe TEdit como classe TListBox; nas duas
situaes os contedos desses objetos so limpos, mesmo pertencendo, ambos, s
classes distintas, LEITE [6]. Segundo FERREIRA & JARABECK [2], um exemplo bem
didtico para o polimorfismo dado por um simples moedor de carne. Esse
equipamento tem a funo de moer carne, produzindo carne moda para fazer bolinhos.
Desse modo, no importa o tipo (classe) de carne alimentada; o resultado ser sempre
carne moda, no importa se de boi, de frango ou de qualquer outro tipo. As restries
impostas pelo processo esto no prprio objeto, definidas pelo seu fabricante e no
pelo usurio do produto.
Definimos Polimorfismo como um princpio a partir do qual as classes derivadas de
uma nica classe base so capazes de invocar os mtodos que, embora apresentem
a mesma assinatura, comportam-se de maneira diferente para cada uma das
classes derivadas. O Polimorfismo um mecanismo por meio do qual selecionamos
as funcionalidades utilizadas de forma dinmica por um programa no decorrer de sua
execuo. Com o Polimorfismo, os mesmos atributos e objetos podem ser utilizados
em objetos distintos, porm, com implementaes lgicas diferentes.

4. Dissertao

Sistema de cadastro e consulta.


O nosso sistema de cadastro e consulta trabalha com a aplicao Java em conjunto
com o banco de dados SQL Query Browser, trabalhando da seguinte forma:
Cadastro:
Entrando com o cdigo do produto a descrio de quantidade e nome, faz o cadastro
para que o banco de dados fique atualizado com todas as informaes do produto.

Consulta:
Entrando com o cdigo do produto e clicando no boto consulta as informaes do
produto em tela, e ao clicar no boto excluir o produto do banco de dados.
Sendo assim o sistema que pode ser usado para controlar um estoque, trabalha de
uma forma simples e fcil de ser usada com apenas o cdigo pode ter todas as
informaes de um produto ou vrios na mesma tela.
Sistema de cadastro e consulta.

10

4.1 Eclipse
Eclipse um IDE para desenvolvimento Java, porm suporta vrias outras linguagens
a partir de plugins como C/C++,PHP,ColdFusion,Python, Scala e plataforma Android.
Ele foi feito em Java e segue o modelo open source de desenvolvimento de software.
Atualmente faz parte do kit de desenvolvimento de software recomendado para
desenvolvedores Android1 .
O projeto Eclipse foi iniciado na IBM que desenvolveu a primeira verso do produto e
doou-o como software livre para a comunidade. O gasto inicial da IBM no produto foi de
mais de 40 milhes de dlares . Hoje, o Eclipse o IDE Java mais utilizado no mundo.
Possui como caractersticas marcantes o uso da SWT e no do Swing como biblioteca
grfica, a forte orientao ao desenvolvimento baseado em plug-ins e o amplo suporte
ao desenvolvedor com centenas de plug-ins que procuram atender as diferentes
necessidades de diferentes programadores.
O software Eclipse tem a licenca EPL (Eclipse Public License).

4.2 JDK

Pacote que inclui tudo o que necessrio para escrever aplicaes e tambm o JRE
para poder rod-los aps finaliz-los. Muitos programadores fazem uso de IDEs
(Integrated Development Environment) de programao, como Eclipse e Netbeans,
para ajud-los durante o desenvolvimento.
Para criar applets e aplicaes Java, voc precisa de ferramentas de desenvolvimento
como o JDK. O JDK inclui o Java Runtime Environment, o compilador Java e as APIs
Java. fcil comear a desenvolver programas em Java, tanto para os novos
programadores quanto para os experientes.

11

4.3 My SQL Connection Java

O MySQL Tools um pacote de produtos que atinge as necessidades da


maioria dos desenvolvedores e administradores de bancos de dados. Usando
esses produtos voc poder facilmente gerenciar e monitorar instncias de
servidores MySQL e garantir privilgios aos usurios.
Uma das funes mais importantes do MySQL Tools o de processar e
exportar dados. Diferente da maioria que se restringe ao gerenciamento de
informaes da base do banco.

4.4 MySQL Query Browser


O MySQL Query Browser uma ferramenta grfica fornecida pela MySQL AB para
criar, executar e otimizar solicitaes SQL em um ambiente grfico. Assim como
o MySQL Administrator foi criado para administrar um servidor MySQL, o MySQL Query
Browser foi criado para auxiliar voc a selecionar e analisar dados armazenados dentro
de um Banco de Dados MySQL.
Enquanto todas as solicitaes executadas no MySQL Query Browser tambm podem
ser executadas pela linha de comando utilizando-se o utilitrio MySQL, o MySQL Query
Browser permite a execuo e edio dos dados de maneira grfica, que mais
intuitiva para o usurio.
MySQL Query Browser foi projetado para trabalhar com verses 4.0 ou superiores do
servidor MySQL, tanto em ambiente Windows quanto em sistemas operacionais UnixLike. Aps baixar o pacote no site da MySQL, proceda com a instalao, que no
Windows baseada na modelo NNF (Next-Next-Finish) e no Linux, basta
descompactar o arquivo e execut-lo alm de contar com suporte a janelas com o X
Window System.

12

5. Projeto (estrutura) do programa


Sistema de cadastro e consulta.

13

6. Relatrio com as linhas de cdigo do programa

BD Schema Tabela produto

DROP TABLE IF EXISTS `sistemacadastroaps`.`produto`;


CREATE TABLE `sistemacadastroaps`.`produto` (
`ID` int(10) unsigned NOT NULL auto_increment,
`CODIGO` varchar(45) default NULL,
`NOME` varchar(45) default NULL,
`DESCRICAO` varchar(45) default NULL,
`QUANTIDADE` varchar(45) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

CadCadastro Form JFrame


package APS;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class CadCadastro extends javax.swing.JDialog {
public CadCadastro(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
14

CadCadastro(Object object) {
throw new UnsupportedOperationException("Not supported yet.");
}

private void initComponents() {


jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jLabel4 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Cadastro de Produto Reciclvel");
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
jLabel1.setText("Cadastro de Produto Reciclvel");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Dados do
produto"));

15

jLabel3.setText("Quantidade:");
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
jLabel4.setText("Descrio:");
jLabel2.setText("Nome:");
jLabel5.setText("Cdigo:");
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel2)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

16

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE, 203,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2,
javax.swing.GroupLayout.PREFERRED_SIZE, 55,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(jScrollPane1)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField3,
javax.swing.GroupLayout.PREFERRED_SIZE, 164,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
17

.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jLabel2)
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jTextField2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(jLabel4)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BA
SELINE)
.addComponent(jTextField3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
18

.addComponent(jLabel5))
.addContainerGap())
);
jButton1.setText("Salvar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Limpar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
19

.addGroup(layout.createSequentialGroup()
.addGap(116, 116, 116)
.addComponent(jLabel1)))
.addContainerGap(18, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2)
.addGap(34, 34, 34))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addContainerGap())
);
pack();
20

}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Class.forName("com.mysql.jdbc.Driver");
//Criar uma variavel de conexo
Connection com;
//Cria uma conexo com BD
com =
DriverManager.getConnection("jdbc:mysql://localhost/sistemacadastroaps","root","1234
56");
//Criar String para inserir no BD
String query = "INSERT INTO produto
(CODIGO,NOME,DESCRICAO,QUANTIDADE) VALUES(?,?,?,?)";
//Cria coomando
PreparedStatement stmt = com.prepareStatement(query);
//Seta os valores da String de insero
stmt.setString(1, jTextField3.getText());
stmt.setString(2, jTextField1.getText());
stmt.setString(3, jTextArea1.getText());
stmt.setString(4, jTextField2.getText());
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextArea1.setText("");

//Executa o comando no BD
stmt.executeUpdate();
21

//Fecha comando e conexo


stmt.close();
com.close();
} catch (ClassNotFoundException ex) {
System.out.println("No foi possivel encontrar a classe");
} catch (SQLException ex) {
System.out.println("Erro: SQL");
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextArea1.setText("");
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

22

java.util.logging.Logger.getLogger(CadCadastro.class.getName()).log(java.util.logging.L
evel.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(CadCadastro.class.getName()).log(java.util.logging.L
evel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(CadCadastro.class.getName()).log(java.util.logging.L
evel.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(CadCadastro.class.getName()).log(java.util.logging.L
evel.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
CadCadastro dialog = new CadCadastro(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}

23

private javax.swing.JButton jButton1;


private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;

7.Bibliografia

http://www.ccuec.unicamp.br/revista/infotec/artigos/leite_rahal.html
http://www.devmedia.com.br/conceitos-e-exemplos-polimorfismo-programacaoorientada-a-objetos/18701
http://www.metropoledigital.ufrn.br/aulas/disciplinas/poo/aula_05.html
http://www.metropoledigital.ufrn.br/aulas/disciplinas/poo/aula_10.html
https://www.java.com/pt_BR/download/faq/develop.xml
http://imasters.com.br/artigo/8530/mysql/trabalhando-com-o-mysql-query-browser-parte-01/

24

http://www.cin.ufpe.br/~phmb/ip/MaterialDeEnsino/IntroducaoAoJDK/IntroducaoAoJDK.htm
http://www.techtudo.com.br/tudo-sobre/s/mysql-tools.html
http://pt.wikipedia.org/wiki/Servidor_de_aplica%C3%A7%C3%A3o
www.eclipse.org/

25

Você também pode gostar