Guest User

Prova PH - Caique Oliveira

a guest
Sep 18th, 2018
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.31 KB | None | 0 0
  1. import java.sql.DriverManager;
  2. import java.sql.Connection;
  3. import java.sql.SQLException;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6.  
  7. import javax.swing.JFrame;
  8. import javax.swing.JLabel;
  9. import javax.swing.JOptionPane;
  10. import javax.swing.JTextField;
  11. import javax.swing.JButton;
  12. import javax.swing.JTable;
  13. import javax.swing.table.DefaultTableModel;
  14. import javax.swing.JScrollPane;
  15.  
  16. import java.awt.event.ActionListener;
  17. import java.awt.event.ActionEvent;
  18.  
  19. public class Principal {
  20.    
  21.     JFrame janela = new JFrame();
  22.     JLabel labelNome = new JLabel();
  23.     JLabel labelValor = new JLabel();
  24.     JTextField campoNome = new JTextField();
  25.     JTextField campoAdd = new JTextField();
  26.     JButton botaoAdd = new JButton();
  27.     JButton botaoExcluir = new JButton();
  28.     JButton botaoFiltro = new JButton();
  29.        
  30.    
  31.     DefaultTableModel dadosJTable = new DefaultTableModel();
  32.     JTable jtableProdutos = new JTable(dadosJTable);
  33.     JScrollPane scrollJTableProdutos = new JScrollPane(jtableProdutos);
  34.     int linhaSelecionada;
  35.        
  36.     String url = "jdbc:mysql://localhost:3306";
  37.     String user = "root";
  38.     String senha = "";
  39.     String baseDeDados = "aulaph";
  40.     String tabela = "fatorial";
  41.    
  42.     Connection conexao;
  43.     String comandoSQL;
  44.     String comandoSQLconsulta;
  45.     PreparedStatement comandoPreparado;
  46.     ResultSet resultadoConsulta;
  47.    
  48.     public class Resultadoatorial {
  49.         public void main (String args[]) {
  50.             for(long i="campoAdd.getText()"; i<=10;i++) {
  51.                 System.out.println(i + "! = " + fatorial(i));
  52.             }
  53.         }
  54.         public long fatorial(long num) {
  55.             if (num <=1 )  return 1;
  56.             else  return num * fatorial(num - 1);
  57.         }
  58.     }
  59.    
  60.     public Principal() {
  61.         try {
  62.             montarJanela();
  63.             adicionarEventosAosBotoes();
  64.             conectarAoBancoDeDados();
  65.             realizarConsultaProdutos();
  66.            
  67.         } catch (SQLException e) {
  68.             e.printStackTrace();
  69.         }
  70.     }
  71.    
  72.    
  73.     public void montarJanela() {
  74.         janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  75.         janela.setLayout(null);
  76.         janela.setSize(600, 400);
  77.         janela.setLocationRelativeTo(null);
  78.        
  79.        
  80.         campoNome.setSize(200, 30);
  81.         campoNome.setLocation(100, 20);
  82.        
  83.         campoAdd.setSize(130, 30);
  84.         campoAdd.setLocation(50, 320);
  85.        
  86.        
  87.        
  88.         scrollJTableProdutos.setSize(550, 200);
  89.         scrollJTableProdutos.setLocation(20, 100);
  90.         jtableProdutos.setDefaultEditor(Object.class, null);
  91.        
  92.    
  93.         dadosJTable.addColumn("NUMERO");
  94.         dadosJTable.addColumn("FATORIAL");
  95.        
  96.        
  97.         botaoFiltro.setText("Filtro");
  98.         botaoFiltro.setSize(80, 30);
  99.         botaoFiltro.setLocation(350, 20);
  100.        
  101.         botaoAdd.setText("Add");
  102.         botaoAdd.setSize(100, 30);
  103.         botaoAdd.setLocation(200, 320);
  104.        
  105.         botaoExcluir.setText("Excluir");
  106.         botaoExcluir.setSize(100, 30);
  107.         botaoExcluir.setLocation(330, 320);
  108.        
  109.         janela.add(botaoFiltro);
  110.         janela.add(campoNome);
  111.         janela.add(campoAdd);
  112.         janela.add(botaoAdd);
  113.         janela.add(botaoExcluir);
  114.         janela.add(scrollJTableProdutos);
  115.         janela.setVisible(true);
  116.     }
  117.    
  118.    
  119.     public void conectarAoBancoDeDados() throws SQLException {
  120.         conexao = DriverManager.getConnection(url, user, senha);
  121.         System.out.println("Conectado ao MySQL!");
  122.         conexao.setCatalog(baseDeDados);
  123.         System.out.println("Base de dados selecionada: " + baseDeDados);
  124.     }
  125.    
  126.    
  127.     public void realizarConsultaProdutos() {
  128.         try {
  129.             comandoSQLconsulta = "SELECT * FROM " + tabela + ";";
  130.             comandoPreparado = conexao.prepareStatement(comandoSQLconsulta);F
  131.             resultadoConsulta = comandoPreparado.executeQuery();
  132.             dadosJTable.getDataVector().removeAllElements();
  133.             while(resultadoConsulta.next()) {
  134.                 dadosJTable.addRow(new Object[]{resultadoConsulta.getString("Numero"), resultadoConsulta.getInt("Fatorial")});
  135.             }
  136.         } catch (SQLException e) {
  137.             e.printStackTrace();
  138.  
  139.     }
  140.    
  141.    
  142.     public void adicionarEventosAosBotoes() {
  143.        
  144.         botaoAdd.addActionListener(
  145.             new ActionListener() {
  146.                 public void actionPerformed(ActionEvent e) {
  147.                     try {                  
  148.                         comandoSQL = "INSERT INTO " + tabela + " VALUES (" + campoAdd.getText() +","+Resultadoatorial+");";
  149.                         comandoPreparado = conexao.prepareStatement(comandoSQL);
  150.                         comandoPreparado.execute();                    
  151.                         System.out.println("Produto inserido!");
  152.                         campoAdd.setText("");   // limpa o componente da interface grafica
  153.                         campoNome.setText("");  // limpa o componente da interface grafica
  154.                        
  155.                         realizarConsultaProdutos();
  156.                        
  157.                     } catch (SQLException e1) {                    
  158.                         e1.printStackTrace();
  159.                     }
  160.                 }
  161.             }
  162.         );
  163.        
  164.        
  165.        
  166.         botaoExcluir.addActionListener(
  167.             new ActionListener() {
  168.                 public void actionPerformed(ActionEvent e) {
  169.                     linhaSelecionada = jtableProdutos.getSelectedRow();
  170.                    
  171.                     if (linhaSelecionada > -1) {
  172.                         int idProdutoParaExcluir = (int) dadosJTable.getValueAt(linhaSelecionada, 0);
  173.                        
  174.                         try {                  
  175.                             comandoSQL = "DELETE FROM " + tabela + " WHERE id=" + idProdutoParaExcluir +";";                                           
  176.                             comandoPreparado = conexao.prepareStatement(comandoSQL);
  177.                             comandoPreparado.execute();                    
  178.                             System.out.println("Produto excluido!");
  179.                            
  180.                             realizarConsultaProdutos();
  181.                            
  182.                         } catch (SQLException e1) {                    
  183.                             e1.printStackTrace();
  184.                         }
  185.                    
  186.                     } else {
  187.                         JOptionPane.showMessageDialog(janela, "Selecione uma linha para excluir!");
  188.                     }
  189.                    
  190.                 }
  191.             }
  192.         );
  193.                
  194.     }
  195.    
  196.    
  197.     public static void main(String[] args) {
  198.         new Principal();
  199.     }
  200.  
  201. }
Add Comment
Please, Sign In to add comment