You are on page 1of 32

UNIVERSIDADE BANDEIRANTE ANHANGUERA

CURSO SUPERIOR DE TECNOLOGIA EM ANALISE E


DESENVOLVIMENTO DE SISTEMAS
LINGUAGEM DE PROGRAMAO





JOO GILBERTO GOMES RA: 5213950477
EDSON JAFA RA: 5656124226
LEANDRO DA SILVA XAVIER RA: 5209945364
SALUSTRIANA LUCIA FERREIRA RA: 4200051079






PROFESSOR ORIENTADOR AISLAN RAMOS
3 SRIE
SO BERNARDO DO CAMPO
2013






GUI E CONEXO COM BANCO DE DADOS






Trabalho apresentado pela equipe disciplina
de LINGUAGEM DE PROGRAMAO ao
Curso de TECNOLOGIA DE ANALISE E
DESENVOLVIMENTO DE SISTEMAS da
Universidade Anhanguera Bandeirantes de So
Bernardo do Campo.






SO BERNARDO DO CAMPO
NOVEMBRO DE 2013





SUMRIO



Contedo
1. GUI E PROGRAMAO .......................................................................................................... 4
Manuteno de Bancos ......................................................................................................... 4
OUTRAS CLASSES ( DAO E MODEL) ............................................................................... 10
Manuteno de Bancos/Agencias ....................................................................................... 13
Manuteno das Contas Financeiras .................................................................................. 16
Manuteno dos Movimentos Financeiros ......................................................................... 18
Manuteno do Oramento Anual (Budget) ....................................................................... 21
2. Descrio das Tabelas ......................................................................................................... 28
3. Scripts das Tabelas (SQL) ..................................................................................................... 30




4


1. GUI E PROGRAMAO

Manuteno de Bancos


package aula1;
import static javax.swing.JOptionPane.showMessageDialog;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.sql.*;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import dao.BancoDAO;
import model.BancoModel;
import java.awt.Color;

5

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class ManutencaoBancos extends JFrame {
JTextField txtCodigo_Reduzido = new JTextField ();
JTextField txtCodigo_Banco = new JTextField ();
JTextField txtNome_Banco = new JTextField ();
public ManutencaoBancos() {
setTitle ("Manuteno de Bancos");
setSize (500,200);
setLocationRelativeTo (null);
JLabel lblCodigo_Reduzido = new JLabel ("Codigo
Reduzido :");
JLabel lblCodigo_Banco = new JLabel ("Codigo do
Banco :");
JLabel lblNome_Banco = new JLabel ("Nome do
Banco :");
setLayout (new FlowLayout());
JPanel pnl1 = new JPanel();
pnl1.setPreferredSize(new Dimension (380,80));
pnl1.setLayout (new GridLayout (3,4));
pnl1.add(lblCodigo_Reduzido);
pnl1.add(txtCodigo_Reduzido);
pnl1.add(lblCodigo_Banco);
pnl1.add(txtCodigo_Banco);
pnl1.add(lblNome_Banco);

6

pnl1.add(txtNome_Banco);

JPanel pnl2 = new JPanel();
pnl2.setPreferredSize(new Dimension (380,40));
pnl2.setLayout (new FlowLayout());
JButton btnNovo = new JButton ("Novo");
JButton btnAlterar = new JButton ("Alterar");
JButton btnExcluir = new JButton ("Excluir");
JButton btnPesquisar = new JButton ("Pesquisar");

// 30/11/2013 - prepara o botao para a acao
btnNovo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
btnNovoActionPerformed(evt);
}
});
btnAlterar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
btnAlterarActionPerformed(evt);
}
});
btnExcluir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
btnExcluirActionPerformed(evt);
}
});
btnPesquisar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
btnPesquisarActionPerformed(evt);
}

7

});



pnl2.add(btnNovo);
pnl2.add(btnAlterar);
pnl2.add(btnExcluir);
pnl2.add(btnPesquisar);
getContentPane().add(pnl1);
getContentPane().add(pnl2);

}

// novas opcoes
// rotina para incluir
private void btnNovoActionPerformed(ActionEvent evt) {
try {
BancoModel Wbanco = new BancoModel();
Wbanco.setCodigo_Reduzido(txtCodigo_Reduzido.getText());
Wbanco.setCodigo_Banco(txtCodigo_Banco.getText());
Wbanco.setNome_Banco(txtNome_Banco.getText());
BancoDAO dao = new BancoDAO();
dao.AdicionaBanco(Wbanco);// chama a rotina do dao
//
txtCodigo_Reduzido.setText(String.valueOf(dao.retornaUltimoCodigo()));
showMessageDialog(null, "Registro incluido");
} catch (SQLException e) {
showMessageDialog(null, e.getMessage());
}
}
// rotina para alterar
private void btnAlterarActionPerformed(ActionEvent evt) {
try {
BancoModel Wbanco = new BancoModel();

8



Wbanco.setCodigo_Reduzido(txtCodigo_Reduzido.getText());

Wbanco.setCodigo_Banco(txtCodigo_Banco.getText());
Wbanco.setNome_Banco(txtNome_Banco.getText());
BancoDAO dao = new BancoDAO();
dao.AlteraBanco(Wbanco);// chama a rotina do dao
//
txtCodigo_Reduzido.setText(String.valueOf(dao.retornaUltimoCodigo()));
showMessageDialog(null, "Registro Alterado");
} catch (SQLException e) {
showMessageDialog(null, e.getMessage());
}
}

private void btnExcluirActionPerformed(ActionEvent evt) {
try {
BancoModel Wbanco = new BancoModel();
Wbanco.setCodigo_Reduzido(txtCodigo_Reduzido.getText());
Wbanco.setCodigo_Banco(txtCodigo_Banco.getText());
Wbanco.setNome_Banco(txtNome_Banco.getText());
BancoDAO dao = new BancoDAO();
dao.ExcluiBanco(Wbanco); // chama a rotina do dao
//
txtCodigo_Reduzido.setText(String.valueOf(dao.retornaUltimoCodigo()));
showMessageDialog(null, "Registro Excluido");
} catch (SQLException e) {
showMessageDialog(null, e.getMessage());
}
}
private void btnPesquisarActionPerformed(ActionEvent evt) {
try {
BancoModel Wbanco = new BancoModel();

9



Wbanco.setCodigo_Reduzido(txtCodigo_Reduzido.getText());
Wbanco.setCodigo_Banco(txtCodigo_Banco.getText());
Wbanco.setNome_Banco(txtNome_Banco.getText());
BancoDAO dao = new BancoDAO();
dao.PesquisaBanco(Wbanco);// chama a rotina do
dao
} catch (SQLException e) {
showMessageDialog(null, e.getMessage());
}
}
public static void main (String[] args) {
new ManutencaoBancos().setVisible(true);
}
}



















10


OUTRAS CLASSES ( DAO E MODEL)

// DAO
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.mysql.jdbc.ResultSet;

import jdbc.ConnectionFactory;
import model.BancoModel;

public class BancoDAO {
Connection con;

public void AdicionaBanco(BancoModel bancos) throws
SQLException {
con = ConnectionFactory.getConnection();
String sql = "insert into bancos (Codigo_Reduzido,
Codigo_Banco, Nome_Banco) values(?,?,?)";
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, bancos.getCodigo_Reduzido());
st.setString(2, bancos.getCodigo_Banco());
st.setString(3, bancos.getNome_Banco());
st.execute();
st.close();
con.close();
}
public void AlteraBanco(BancoModel bancos) throws
SQLException {

11

con = ConnectionFactory.getConnection();
String sql = "update bancos set Codigo_Banco = ?,
Nome_Banco=? where Codigo_reduzido = ?";
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, bancos.getCodigo_Banco());
st.setString(2, bancos.getNome_Banco());
st.setString(3, bancos.getCodigo_Reduzido());

st.execute();
st.close();
con.close();
}
public void ExcluiBanco(BancoModel bancos) throws
SQLException {
con = ConnectionFactory.getConnection();
String sql = "delete from bancos where Codigo_reduzido =
?";
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, bancos.getCodigo_Reduzido());

st.execute();
st.close();
con.close();
}
public void PesquisaBanco(BancoModel bancos) throws
SQLException {
con = ConnectionFactory.getConnection();
String sql = "select Codigo_Reduzido, Codigo_Banco,
Nome_Banco from bancos where codigo_Reduzido = ?";
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, bancos.getCodigo_Reduzido());
java.sql.ResultSet rs = st.executeQuery();
BancoModel Wbanco = null;
if (rs.next()) {

12

Wbanco = new BancoModel();

Wbanco.setCodigo_Reduzido(rs.getString("Codigo_Reduzido"));
Wbanco.setCodigo_Banco(rs.getString("Codigo_Banco"));
Wbanco.setNome_Banco(rs.getString("Nome_Banco"));

}
st.close();
rs.close();
con.close();

}
}

package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public static Connection getConnection() throws SQLException {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return DriverManager.getConnection(
// "jdbc:mysql://localhost:3306/aula_java", "root",
"anhanguera");
"jdbc:mysql://localhost:3306/orcamento", "root", "anhanguera");
}
}


13

//MODEL

package model;

public class BancoModel {
private String Codigo_Reduzido;
private String Codigo_Banco;
private String Nome_Banco;
public String getCodigo_Reduzido() {
return Codigo_Reduzido;
}
public void setCodigo_Reduzido(String Codigo_Reduzido) {
this.Codigo_Reduzido = Codigo_Reduzido;
}
public String getCodigo_Banco() {
return Codigo_Banco;
}
public void setCodigo_Banco(String Codigo_Banco) {
this.Codigo_Banco = Codigo_Banco;
}
public String getNome_Banco(){
return Nome_Banco;
}
public void setNome_Banco(String Nome_Banco) {
this.Nome_Banco = Nome_Banco;
}

}




Manuteno de Bancos/Agencias

14


package Aula01;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;

public class ManutencaoBancosAgencias extends JFrame {
public ManutencaoBancosAgencias() {
setTitle ("Manuteno de Bancos/Agencias");
setSize (500,200);
setLocationRelativeTo (null);

JLabel lblCodigo_Reduzido = new JLabel ("Codigo Reduzido
:");
JLabel lblAgencia = new JLabel ("Agencia :");
JLabel lblNome_Agencia = new JLabel ("Nome da
Agencia :");
JLabel lblConta_Banco = new JLabel ("Conta Corrente
:");
JTextField txtCodigo_Reduzido = new JTextField ();
JTextField txtAgencia = new JTextField ();

15

JTextField txtNome_Agencia = new JTextField ();
JTextField txtConta_Banco = new JTextField ();

setLayout (new FlowLayout());
JPanel pnl1 = new JPanel();
pnl1.setPreferredSize(new Dimension (380,80));
pnl1.setLayout (new GridLayout (4,4));

pnl1.add(lblCodigo_Reduzido);
pnl1.add(txtCodigo_Reduzido);
pnl1.add(lblAgencia);
pnl1.add(txtAgencia);
pnl1.add(lblNome_Agencia);
pnl1.add(txtNome_Agencia);
pnl1.add(lblConta_Banco);
pnl1.add(txtConta_Banco);

JPanel pnl2 = new JPanel();
pnl2.setPreferredSize(new Dimension (380,40));

pnl2.setLayout (new FlowLayout());

JButton btnNovo = new JButton ("Novo");
JButton btnAlterar = new JButton ("Alterar");
JButton btnExcluir = new JButton ("Excluir");
JButton btnPesquisar = new JButton ("Pesquisar");
pnl2.add(btnNovo);
pnl2.add(btnAlterar);
pnl2.add(btnExcluir);
pnl2.add(btnPesquisar);


getContentPane().add(pnl1);
getContentPane().add(pnl2);

16


}
public static void main (String[] args) {
new ManutencaoBancosAgencias().setVisible(true);
}
}



























Manuteno das Contas Financeiras

17


ackage Aula01;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;

public class ManutencaoContasFinanceiras extends JFrame {
public ManutencaoContasFinanceiras() {
setTitle ("Manuteno das Contas Financeiras");
setSize (500,200);
setLocationRelativeTo (null);

JLabel lblConta_Financeira = new JLabel ("Conta Financeira
:");
JLabel lblDescricao = new JLabel ("Descrio :");
JLabel lblTipo_Conta = new JLabel ("Tipo da Conta :");


JTextField txtConta_Financeira = new JTextField ();
JTextField txtDescricao = new JTextField ();
JTextField txtTipo_Conta = new JTextField ();

setLayout (new FlowLayout());

18

JPanel pnl1 = new JPanel();
pnl1.setPreferredSize(new Dimension (380,80));
pnl1.setLayout (new GridLayout (3,3));


pnl1.add(lblConta_Financeira);
pnl1.add(txtConta_Financeira);
pnl1.add(lblDescricao);
pnl1.add(txtDescricao);
pnl1.add(lblTipo_Conta);
pnl1.add(txtTipo_Conta);

JPanel pnl2 = new JPanel();
pnl2.setPreferredSize(new Dimension (380,40));

pnl2.setLayout (new FlowLayout());

JButton btnNovo = new JButton ("Novo");
JButton btnAlterar = new JButton ("Alterar");
JButton btnExcluir = new JButton ("Excluir");
JButton btnPesquisar = new JButton ("Pesquisar");
pnl2.add(btnNovo);
pnl2.add(btnAlterar);
pnl2.add(btnExcluir);
pnl2.add(btnPesquisar);

getContentPane().add(pnl1);
getContentPane().add(pnl2);
}
public static void main (String[] args) {
new ManutencaoContasFinanceiras().setVisible(true);
}
}
Manuteno dos Movimentos Financeiros

19



package Aula01;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;

public class ManutencaoMovimentosFinanceiros extends JFrame {
public ManutencaoMovimentosFinanceiros() {
setTitle ("Manuteno dos Movimentos Financeiros");
setSize (500,200);
setLocationRelativeTo (null);

JLabel lblId_Movimento = new JLabel ("Id Movimento :");
JLabel lblData = new JLabel ("Data :");
JLabel lblConta_Financeira = new JLabel ("Conta Financeira
:");
JLabel lblBanco = new JLabel ("Banco :");
JLabel lblValor = new JLabel ("Valor :");
JLabel lblHistorico = new JLabel ("Historico :");

JTextField txtId_Movimento = new JTextField ();

20

JTextField txtData = new JTextField ();
JTextField txtConta_Financeira = new JTextField ();
JTextField txtBanco = new JTextField
();
JTextField txtValor = new JTextField
();
JTextField txtHistorico = new JTextField ();

setLayout (new FlowLayout());
JPanel pnl1 = new JPanel();
pnl1.setPreferredSize(new Dimension (380,80));
pnl1.setLayout (new GridLayout (3,4));


pnl1.add(lblId_Movimento);
pnl1.add(txtId_Movimento);
pnl1.add(lblData);
pnl1.add(txtData);
pnl1.add(lblConta_Financeira);
pnl1.add(txtConta_Financeira);
pnl1.add(lblBanco);
pnl1.add(txtBanco);
pnl1.add(lblValor);
pnl1.add(txtValor);
pnl1.add(lblHistorico);
pnl1.add(txtHistorico);

JPanel pnl2 = new JPanel();
pnl2.setPreferredSize(new Dimension (380,40));

pnl2.setLayout (new FlowLayout());

JButton btnNovo = new JButton ("Novo");
JButton btnAlterar = new JButton ("Alterar");

21

JButton btnExcluir = new JButton ("Excluir");
JButton btnPesquisar = new JButton ("Pesquisar");
pnl2.add(btnNovo);
pnl2.add(btnAlterar);
pnl2.add(btnExcluir);
pnl2.add(btnPesquisar);

getContentPane().add(pnl1);
getContentPane().add(pnl2);

}
public static void main (String[] args) {
new ManutencaoMovimentosFinanceiros().setVisible(true);
}
}

















Manuteno do Oramento Anual (Budget)

22


package Aula01;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;

public class ManutencaoOrcamento extends JFrame {
public ManutencaoOrcamento() {
setTitle ("Manuteno do Oramento (Budget)");
setSize (500,500);
setLocationRelativeTo (null);


23

JLabel lblAno = new JLabel ("Ano");
JLabel lblConta_Financeira = new JLabel ("Conta
Financeira");
JLabel lblJan_Prev = new JLabel ("Janeiro");
JLabel lblFev_Prev = new JLabel ("Fevereiro");
JLabel lblMar_Prev = new JLabel ("Maro");
JLabel lblAbr_Prev = new JLabel ("Abril");
JLabel lblMai_Prev = new JLabel ("Maio");
JLabel lblJun_Prev = new JLabel ("Junho");
JLabel lblJul_Prev = new JLabel ("Julho");
JLabel lblAgo_Prev = new JLabel ("Agosto");
JLabel lblSet_Prev = new JLabel ("Setembro");
JLabel lblOut_Prev = new JLabel ("Outubro");
JLabel lblNov_Prev = new JLabel ("Novembro");
JLabel lblDez_Prev = new JLabel ("Dezembro");
JLabel lblTot_Prev = new JLabel ("Total");
JLabel lblJan_Real = new JLabel ("Janeiro");
JLabel lblFev_Real = new JLabel ("Fevereiro");
JLabel lblMar_Real = new JLabel ("Maro");
JLabel lblAbr_Real = new JLabel ("Abril");
JLabel lblMai_Real = new JLabel ("Maio");
JLabel lblJun_Real = new JLabel ("Junho");
JLabel lblJul_Real = new JLabel ("Julho");
JLabel lblAgo_Real = new JLabel ("Agosto");
JLabel lblSet_Real = new JLabel ("Setembro");
JLabel lblOut_Real = new JLabel ("Outubro");
JLabel lblNov_Real = new JLabel ("Novembro");
JLabel lblDez_Real = new JLabel ("Dezembro");
JLabel lblTot_Real = new JLabel ("Total");

JTextField txtAno = new JTextField ();
JTextField txtConta_Financeira = new JTextField ();
JTextField txtJan_Prev = new JTextField ();
JTextField txtFev_Prev = new JTextField ();

24

JTextField txtMar_Prev = new JTextField ();
JTextField txtAbr_Prev = new JTextField ();
JTextField txtMai_Prev = new JTextField ();
JTextField txtJun_Prev = new JTextField ();
JTextField txtJul_Prev = new JTextField ();
JTextField txtAgo_Prev = new JTextField ();
JTextField txtSet_Prev = new JTextField ();
JTextField txtOut_Prev = new JTextField ();
JTextField txtNov_Prev = new JTextField ();
JTextField txtDez_Prev = new JTextField ();
JTextField txtTot_Prev = new JTextField ();

JTextField txtJan_Real = new JTextField ();
JTextField txtFev_Real = new JTextField ();
JTextField txtMar_Real = new JTextField ();
JTextField txtAbr_Real = new JTextField ();
JTextField txtMai_Real = new JTextField ();
JTextField txtJun_Real = new JTextField ();
JTextField txtJul_Real = new JTextField ();
JTextField txtAgo_Real = new JTextField ();
JTextField txtSet_Real = new JTextField ();
JTextField txtOut_Real = new JTextField ();
JTextField txtNov_Real = new JTextField ();
JTextField txtDez_Real = new JTextField ();
JTextField txtTot_Real = new JTextField ();

setLayout (new FlowLayout());
JPanel pnl1 = new JPanel();
pnl1.setPreferredSize(new Dimension (400,80));
pnl1.setLayout (new GridLayout (5,4));

pnl1.add(lblAno);
pnl1.add(txtAno);
pnl1.add(lblConta_Financeira);

25

pnl1.add(txtConta_Financeira);

setLayout (new FlowLayout());
JPanel pnlx = new JPanel();
//pnlx.setPreferredSize(new Dimension (380,80));
pnlx.setLayout (new GridLayout (1,1));
JLabel lblExt = new JLabel ("VALORES
PREVISTOS");

pnlx.add(lblExt);

setLayout (new FlowLayout());
JPanel pnl2 = new JPanel();
pnl2.setPreferredSize(new Dimension (380,80));
pnl2.setLayout (new GridLayout (5,4));

pnl2.add(lblJan_Prev);
pnl2.add(txtJan_Prev);
pnl2.add(lblFev_Prev);
pnl2.add(txtFev_Prev);
pnl2.add(lblMar_Prev);
pnl2.add(txtMar_Prev);
pnl2.add(lblAbr_Prev);
pnl2.add(txtAbr_Prev);
pnl2.add(lblMai_Prev);
pnl2.add(txtMai_Prev);
pnl2.add(lblJun_Prev);
pnl2.add(txtJun_Prev);
pnl2.add(lblJul_Prev);
pnl2.add(txtJul_Prev);
pnl2.add(lblAgo_Prev);
pnl2.add(txtAgo_Prev);
pnl2.add(lblSet_Prev);
pnl2.add(txtSet_Prev);

26

pnl2.add(lblOut_Prev);
pnl2.add(txtOut_Prev);
pnl2.add(lblNov_Prev);
pnl2.add(txtNov_Prev);
pnl2.add(lblDez_Prev);
pnl2.add(txtDez_Prev);
pnl2.add(lblTot_Prev);
pnl2.add(txtTot_Prev);

setLayout (new FlowLayout());
JPanel pnlz = new JPanel();
//pnlx.setPreferredSize(new Dimension (380,80));
pnlz.setLayout (new GridLayout (1,1));
JLabel lblExtReal = new JLabel ("VALORES
REALIZADOS");

pnlz.add(lblExtReal);

setLayout (new FlowLayout());
JPanel pnl3 = new JPanel();
pnl3.setPreferredSize(new Dimension (380,80));
pnl3.setLayout (new GridLayout (5,4));

pnl3.add(lblJan_Real);
pnl3.add(txtJan_Real);
pnl3.add(lblFev_Real);
pnl3.add(txtFev_Real);
pnl3.add(lblMar_Real);
pnl3.add(txtMar_Real);
pnl3.add(lblAbr_Real);
pnl3.add(txtAbr_Real);
pnl3.add(lblMai_Real);
pnl3.add(txtMai_Real);
pnl3.add(lblJun_Real);

27

pnl3.add(txtJun_Real);
pnl3.add(lblJul_Real);
pnl3.add(txtJul_Real);
pnl3.add(lblAgo_Real);
pnl3.add(txtAgo_Real);
pnl3.add(lblSet_Real);
pnl3.add(txtSet_Real);
pnl3.add(lblOut_Real);
pnl3.add(txtOut_Real);
pnl3.add(lblNov_Real);
pnl3.add(txtNov_Real);
pnl3.add(lblDez_Real);
pnl3.add(txtDez_Real);
pnl3.add(lblTot_Real);
pnl3.add(txtTot_Real);

JPanel pnl4 = new JPanel();
pnl4.setPreferredSize(new Dimension (380,40));

pnl4.setLayout (new FlowLayout());

JButton btnNovo = new JButton ("Novo");
JButton btnAlterar = new JButton ("Alterar");
JButton btnExcluir = new JButton ("Excluir");
JButton btnPesquisar = new JButton ("Pesquisar");
pnl4.add(btnNovo);
pnl4.add(btnAlterar);
pnl4.add(btnExcluir);
pnl4.add(btnPesquisar);

getContentPane().add(pnl1);
getContentPane().add(pnlx);
getContentPane().add(pnl2);
getContentPane().add(pnlz);

28

getContentPane().add(pnl3);
getContentPane().add(pnl4);

}
public static void main (String[] args) {
new ManutencaoOrcamento().setVisible(true);
}
}

























2. Descrio das Tabelas

29


Tabela Contas financeiras : esta tabela usada para controlar os tipos
Conta Financeira: Numero da conta.
Descrio: Descrio desta conta.
Tipo Conta: usado para diferenciar quando receita ou despesa.

Tabela Bancos: esta tabela usada para o controle dos bancos
Cdigo reduzido: usado um cdigo para referencia-se a conta do
banco.
Cdigo banco: numero do banco.
Nome : nome do banco.

Tabela Bancos Agencias: usada para controle das agencias
Cdigo Reduzido: usado um cdigo para referencia-se ao numero da
agencia
Nome Agencia: descreve o nome da agencia.
Conta banco: deve-se digitar aqui a conta corrente.

Tabela Movimentos financeiros: armazena toda a movimentao do sistema.
Id movimento : controle interno , esse cdigo sera criado
automaticamente a cada incluso.
Data movimento: aqui deve-se informar a data do lanamento.
Conta Financeira: o numero da conta j criada.
Valor movimento: informar o valor deste lanamento.
Cdigo Reduzido: cdigo da conta bancaria j criado.
Descrio: informar uma descrio deste lanamento.

Tabela Orcamento: usada para registrar toda a movimentao de entrada e
sada, para futuros relatrios.
Conta financeira: numero da conta.
Ano: o sistema ira registrar o ano do registro.
Jan_previsto ... dez_previsto: cada valor previsto sera armazenado nos
respectivos meses previsto, de janeiro a dezembro.

30

Total previsto: a soma dos meses em que foram
previstos sera armazenado neste campo.
Jan_realizado ... dez_realizado: cada valor realizado sera armazenado
nos respectivos meses em que foram realizados, de janeiro a dezembro.
Total realizado: a soma dos meses em que foram realizados os
pagamentos ser armazenado neste campo.


























3. Scripts das Tabelas (SQL)

31

create database orcamento;
use orcamento;
create table contas_financeiras (
conta_financeira varchar(10) primary key,
descricao varchar(40),
tipo_conta varchar(10) not null);
describe contas_financeiras;
create table bancos (
codigo_reduzido varchar(10) primary key,
codigo_banco varchar (5) not null,
nome varchar (40));
describe bancos;
create table bancos_agencias (
codigo_reduzido varchar(10) primary key,
agencia varchar (10) not null,
nome_agencia varchar (40),
conta_banco varchar (10) not null);
describe bancos_agencias;
create table movimentos_financeiros (
id_movimento int primary key ,
data_movimento date not null,
conta_financeira varchar(10) not null,
valor_movimento float not null,
codigo_reduzido varchar(10) not null,
descricao_movimento varchar(40) not null);
describe movimentos_financeiros;
create table orcamento (
conta_financeira varchar(10) primary key,
ano int not null,
jan_previsto float,
fev_previsto float,
mar_previsto float,
abr_previsto float,
mai_previsto float,

32

jun_previsto float,
jul_previsto float,
ago_previsto float,
set_previsto float,
out_previsto float,
nov_previsto float,
dez_previsto float,
total_previsto float,
jan_realizado float,
fev_realizado float,
mar_realizado float,
abr_realizado float,
mai_realizado float,
jun_realizado float,
jul_realizado float,
ago_realizado float,
set_realizado float,
out_realizado float,
nov_realizado float,
dez_realizado float,
total_realizado float);
describe orcamento;