Você está na página 1de 5

Centro Universitrio do Leste de Minas Gerais Curso de Sistemas de Informao Programao Orientada a Objetos Exerccios

1- Complete o cdigo abaixo para que seja produzida a seguinte janela.

import import import import

javax.swing.*; java.awt.*; java.awt.event.*; java.sql.SQLException;

import Banco.*; public class Agenda{ public JFrame janela; public JButton btoIncluir, btoExcluir, btoAlterar, btoConsultar, btoSair; public JLabel lblNome, lblTelefone; public JTextField tfNome, tfTelefone; public JPanel pnDados, pnBotoes; public static String nome; public static String telefone; Agenda(){ //instancia os objtetos janela = new JFrame("_____________________________"); pnDados = new JPanel(); pnBotoes = new JPanel(); btoIncluir = new JButton("_____________________________"); btoExcluir = new JButton("_____________________________"); btoAlterar = new JButton("_____________________________"); btoConsultar = new JButton("___________________________"); btoSair = new JButton("_____________________________"); lblNome = new JLabel("_____________________________ "); lblTelefone = new JLabel("_____________________________ "); tfNome = new JTextField(30); tfTelefone = new JTextField(12);

Centro Universitrio do Leste de Minas Gerais Curso de Sistemas de Informao Programao Orientada a Objetos Exerccios
//_________________________________________________ TrataEventos te = new TrataEventos(); //adiciona o ouvidor de aes nos botes btoIncluir.addActionListener(te); btoExcluir.addActionListener(te); btoAlterar.addActionListener(te); btoConsultar.addActionListener(te); btoSair.addActionListener(te); //configura os layouts pnDados.setLayout(null); pnBotoes.setLayout(new FlowLayout()); janela.setLayout(new GridLayout(2,1)); janela.setResizable(false); //configura a posio dos elementos lblNome.setBounds(10,10,50,25); tfNome.setBounds(55, 10, 280, 25); lblTelefone.setBounds(10,45,90,25); tfTelefone.setBounds(70, 45, 180, 25); //adiciona os elementos no painel pnDados.add(lblNome); pnDados.add(tfNome); pnDados.add(lblTelefone); pnDados.add(tfTelefone); pnBotoes.add(btoIncluir); pnBotoes.add(btoExcluir); pnBotoes.add(btoAlterar); pnBotoes.add(btoConsultar); pnBotoes.add(btoSair); //adiciona o painel janela janela.add(pnDados); janela.add(pnBotoes); //configura o tamanho da janela janela.setSize(450,200); //configura a posio da janela janela.setLocationRelativeTo(null); //mostra a janela janela.setVisible(true); } private class TrataEventos implements ActionListener{ public void actionPerformed(ActionEvent e) { if(e.getSource() == btoIncluir){ try { Insere insere = new Insere("tbcontatos", tfNome.getText(), tfTelefone.getText()); } catch (SQLException e1) { e1.printStackTrace(); } } if(e.getSource() == btoExcluir){ }

Centro Universitrio do Leste de Minas Gerais Curso de Sistemas de Informao Programao Orientada a Objetos Exerccios
if(e.getSource() == btoAlterar){ } if(e.getSource() == btoConsultar){ } if(e.getSource() == btoSair){ System.exit(0); }

} } }

2- Analise o cdigo acima e responda: a) b) c) d) e) f) g) h) Qual o gerenciador de layout usado pelo pnDados? Como foram distribudos os componentes no pnDados? Qual o gerenciador de layout usado pelo pnBotoes? Como foram distribudos os componentes no pnBotoes? Qual o tamanho da janela? Esta janela pode ser redimensionada? Justifique sua resposta. O que faz o mtodo setLocationRelativeTo(null)? Qual o nome deve ser atribudo ao arquivo de cdigo acima? i) O arquivo acima (somente com este cdigo) ir mostrar a janela se for compilado e executado? Justifique sua resposta. j) O que faz a linha btoIncluir.addActionListener(te); k) 3- Analise o cdigo abaixo e responda
package Banco; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Insere{ Conecta con = new Conecta(); //construtor public Insere(String tabela, String nome, String telefone) throws SQLException{ System.out.println(con.conectaBanco()); String sql = "INSERT INTO "+tabela+" (nome, telefone) VALUES ('"+nome+"', '"+telefone+"')"; //Executa a SQL con.stm.executeUpdate(sql); }

Centro Universitrio do Leste de Minas Gerais Curso de Sistemas de Informao Programao Orientada a Objetos Exerccios
}

a) b) c) d)

Qual o nome da classe acima? O construtor possui argumentos? Qual a funcionalidade do construtor? Esta classe est em qual pacote? 4- Analise o cdigo abaixo e responda:

package Banco; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Conecta { //atributos public Connection conexao = null; public Statement stm = null; public String msg = ""; public ResultSet rs = null; public String conectaBanco(){ try { //faz a conexo jdbc com a base de dados Class.forName("com.mysql.jdbc.Driver").newInstance(); Conexao=DriverManager.getConnection("jdbc:mysql://localhost:3306/bdage nda","root", ""); //jdbc:mysql://localhost:3306 //jdbc:mysq://localhost onde o banco de dados est hospedado. //3306 a porta (padro do MySQL. //root o usurio padro do MySQL e a senha ficar vazia(padro). //stm objeto que recebe a conexo stm = conexao.createStatement(); // mensagem de erro ser mostrada. msg = "Conexao realizada com sucesso"; }catch (Exception e){ msg = "Erro de conexo " + e.getMessage(); System.out.println(msg); } return msg; } }

a) Qual o nome da classe acima? b) A qual pacote pertence a classe acima? c) Qual o nome do banco de dados? 5- Analisando os 3 cdigos responda. a) O que o programa acima ir fazer? b) Qual a relao entre as classes Insere e Conecta? c) Qual o mtodo utilizado para capturar o texto que foi escrito em um TextField?

Centro Universitrio do Leste de Minas Gerais Curso de Sistemas de Informao Programao Orientada a Objetos Exerccios 6- No laboratrio. a) b) c) d) Escreva o cdigo para que os trs cdigos acima sejam executados. Escreva o cdigo para fazer a consulta de dados. Escreva o cdigo para excluir um dado. Escreva o cdigo para alterar um dado. Para fazer os exerccios acima voc pode usar outras janelas e outros componentes da linguagem Java.