Advertisement
Guest User

Untitled

a guest
Nov 26th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 21.37 KB | None | 0 0
  1.  
  2. package conexaogames;
  3.  
  4. import java.awt.HeadlessException;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. import javax.swing.JOptionPane;
  11. import java.sql.Connection;
  12. import java.sql.DriverManager;
  13. import java.sql.SQLException;
  14.  
  15.  
  16. public class Interface extends javax.swing.JFrame {
  17.  
  18.     public ConexaoGames ConexaoGames;
  19.     public Interface() {
  20.         initComponents();
  21.         ConexaoGames ConexaoGames = new ConexaoGames();
  22.         if(!ConexaoGames.getConnection()){
  23.             JOptionPane.showMessageDialog(null,"Pinguelo");
  24.             System.exit(0);
  25.         }
  26.     }
  27.  
  28.  
  29.     @SuppressWarnings("unchecked")
  30.    
  31.     public class ConexaoGames {
  32.     // Essa primeira parte é feita para definir as informações do banco
  33.     public Connection connection = null;
  34.     private final String DRIVER = "com.mysql.jdbc.Driver"; //Driver JDBC
  35.     private final String DBNAME = "conexaogames"; //Nome do banco de dados
  36.     private final String URL = "jdbc:mysql://localhost:3306/"+DBNAME+"?useTimezone=true&serverTimezone=UTC";
  37.     private final String LOGIN = "root"; //Login padrão
  38.     private final String SENHA = ""; //Senha padrão
  39.    
  40.    
  41.    
  42.     /* Vai ser criada duas funções para podermos usar no JFRAME
  43.         O getConnection para realizar a conexão
  44.         e o close para fechar a conexão
  45.     */
  46.    
  47.     public boolean getConnection(){ /*Ele é boolean pois iremos utilizar isso a nosso favor
  48.                                     no JFrame*/
  49.                                        
  50.         try{
  51.             Class.forName(DRIVER);    
  52.             connection = DriverManager.getConnection(URL, LOGIN, SENHA);
  53.             System.out.println("Conectou");
  54.             return true;    // Quando a conexão é feita, ele retorna true
  55.         }catch(ClassNotFoundException erro){
  56.             System.out.println("Driver não encontrado!\n"+erro.toString());
  57.             return false;    // Quando a conexão é malsucedida, ele retorna false
  58.         }catch(SQLException erro){
  59.             System.out.println("Falha ao conectar!\n"+erro.toString());
  60.             return false;    
  61.            
  62.            
  63.         }
  64.     }
  65.    
  66.     public void close(){
  67.         try{
  68.             connection.close();
  69.             System.out.println("Desconectou");
  70.         }catch(SQLException erro){
  71.            
  72.         }
  73.     }
  74.    
  75. }
  76.    
  77.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  78.     private void initComponents() {
  79.  
  80.         jPanel1 = new javax.swing.JPanel();
  81.         jLabel1 = new javax.swing.JLabel();
  82.         tfCod = new javax.swing.JTextField();
  83.         jLabel2 = new javax.swing.JLabel();
  84.         tfNome = new javax.swing.JTextField();
  85.         jLabel3 = new javax.swing.JLabel();
  86.         tfData = new javax.swing.JTextField();
  87.         jLabel4 = new javax.swing.JLabel();
  88.         tfGen = new javax.swing.JTextField();
  89.         jLabel5 = new javax.swing.JLabel();
  90.         tfDes = new javax.swing.JTextField();
  91.         jLabel6 = new javax.swing.JLabel();
  92.         tfPlat = new javax.swing.JTextField();
  93.         tfResult = new javax.swing.JTextField();
  94.         jButtonCadastrar = new javax.swing.JButton();
  95.         jButtonLimpar = new javax.swing.JButton();
  96.         jButtonPesquisar = new javax.swing.JButton();
  97.         jButtonExcluir = new javax.swing.JButton();
  98.         jButtonSair = new javax.swing.JButton();
  99.         jButton1 = new javax.swing.JButton();
  100.  
  101.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  102.  
  103.         jLabel1.setText("Código");
  104.  
  105.         jLabel2.setText("Nome");
  106.  
  107.         jLabel3.setText("Data de Lançamento");
  108.  
  109.         jLabel4.setText("Gênero(s)");
  110.  
  111.         jLabel5.setText("Desenvolvedor(es)");
  112.  
  113.         tfDes.addActionListener(new java.awt.event.ActionListener() {
  114.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  115.                 tfDesActionPerformed(evt);
  116.             }
  117.         });
  118.  
  119.         jLabel6.setText("Plataforma(s)");
  120.  
  121.         jButtonCadastrar.setText("Cadastrar");
  122.         jButtonCadastrar.addActionListener(new java.awt.event.ActionListener() {
  123.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  124.                 jButtonCadastrarActionPerformed(evt);
  125.             }
  126.         });
  127.  
  128.         jButtonLimpar.setText("Limpar");
  129.         jButtonLimpar.addActionListener(new java.awt.event.ActionListener() {
  130.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  131.                 jButtonLimparActionPerformed(evt);
  132.             }
  133.         });
  134.  
  135.         jButtonPesquisar.setText("Pesquisar");
  136.         jButtonPesquisar.addActionListener(new java.awt.event.ActionListener() {
  137.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  138.                 jButtonPesquisarActionPerformed(evt);
  139.             }
  140.         });
  141.  
  142.         jButtonExcluir.setText("Excluir");
  143.         jButtonExcluir.addActionListener(new java.awt.event.ActionListener() {
  144.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  145.                 jButtonExcluirActionPerformed(evt);
  146.             }
  147.         });
  148.  
  149.         jButtonSair.setText("Sair");
  150.         jButtonSair.addActionListener(new java.awt.event.ActionListener() {
  151.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  152.                 jButtonSairActionPerformed(evt);
  153.             }
  154.         });
  155.  
  156.         jButton1.setText("Listar todos");
  157.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  158.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  159.                 jButton1ActionPerformed(evt);
  160.             }
  161.         });
  162.  
  163.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  164.         jPanel1.setLayout(jPanel1Layout);
  165.         jPanel1Layout.setHorizontalGroup(
  166.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  167.             .addGroup(jPanel1Layout.createSequentialGroup()
  168.                 .addContainerGap()
  169.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  170.                     .addGroup(jPanel1Layout.createSequentialGroup()
  171.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  172.                             .addComponent(jLabel6)
  173.                             .addComponent(jLabel3)
  174.                             .addComponent(jLabel1)
  175.                             .addComponent(jLabel5)
  176.                             .addComponent(jButtonCadastrar))
  177.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  178.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  179.                             .addGroup(jPanel1Layout.createSequentialGroup()
  180.                                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  181.                                     .addComponent(tfCod)
  182.                                     .addComponent(tfData, javax.swing.GroupLayout.DEFAULT_SIZE, 146, Short.MAX_VALUE))
  183.                                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  184.                                     .addGroup(jPanel1Layout.createSequentialGroup()
  185.                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  186.                                         .addComponent(jLabel2)
  187.                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  188.                                         .addComponent(tfNome, javax.swing.GroupLayout.PREFERRED_SIZE, 381, javax.swing.GroupLayout.PREFERRED_SIZE))
  189.                                     .addGroup(jPanel1Layout.createSequentialGroup()
  190.                                         .addGap(4, 4, 4)
  191.                                         .addComponent(jLabel4)
  192.                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  193.                                         .addComponent(tfGen))))
  194.                             .addComponent(tfDes)
  195.                             .addComponent(tfPlat)
  196.                             .addGroup(jPanel1Layout.createSequentialGroup()
  197.                                 .addComponent(jButtonLimpar, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
  198.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  199.                                 .addComponent(jButtonPesquisar)
  200.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  201.                                 .addComponent(jButtonExcluir, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
  202.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  203.                                 .addComponent(jButtonSair, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
  204.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  205.                                 .addComponent(jButton1)
  206.                                 .addGap(0, 0, Short.MAX_VALUE))))
  207.                     .addComponent(tfResult))
  208.                 .addContainerGap())
  209.         );
  210.         jPanel1Layout.setVerticalGroup(
  211.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  212.             .addGroup(jPanel1Layout.createSequentialGroup()
  213.                 .addContainerGap()
  214.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  215.                     .addComponent(jLabel1)
  216.                     .addComponent(tfCod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  217.                     .addComponent(jLabel2)
  218.                     .addComponent(tfNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  219.                 .addGap(18, 18, 18)
  220.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  221.                     .addComponent(jLabel3)
  222.                     .addComponent(tfData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  223.                     .addComponent(jLabel4)
  224.                     .addComponent(tfGen, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  225.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  226.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  227.                     .addComponent(jLabel5)
  228.                     .addComponent(tfDes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  229.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  230.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  231.                     .addComponent(jLabel6)
  232.                     .addComponent(tfPlat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  233.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  234.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  235.                     .addComponent(jButtonCadastrar)
  236.                     .addComponent(jButtonLimpar)
  237.                     .addComponent(jButtonPesquisar)
  238.                     .addComponent(jButtonExcluir)
  239.                     .addComponent(jButtonSair)
  240.                     .addComponent(jButton1))
  241.                 .addGap(8, 8, 8)
  242.                 .addComponent(tfResult, javax.swing.GroupLayout.DEFAULT_SIZE, 201, Short.MAX_VALUE))
  243.         );
  244.  
  245.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  246.         getContentPane().setLayout(layout);
  247.         layout.setHorizontalGroup(
  248.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  249.             .addGroup(layout.createSequentialGroup()
  250.                 .addContainerGap()
  251.                 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 681, Short.MAX_VALUE)
  252.                 .addContainerGap())
  253.         );
  254.         layout.setVerticalGroup(
  255.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  256.             .addGroup(layout.createSequentialGroup()
  257.                 .addContainerGap()
  258.                 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  259.                 .addContainerGap())
  260.         );
  261.  
  262.         pack();
  263.     }// </editor-fold>                        
  264.  
  265.     private void jButtonSairActionPerformed(java.awt.event.ActionEvent evt) {                                            
  266.  try{
  267.             ConexaoGames.connection.close(); //Fecha a conexão
  268.         }catch(Exception e){
  269.             System.out.println("O erro é o seguinte: "+e.toString());
  270.             System.exit(0);
  271.         }
  272.         System.exit(0); //Sai do sistema      
  273.                                            
  274.  
  275.  
  276.     }                                          
  277.  
  278.     private void jButtonCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                                
  279.           String sql="INSERT INTO jogos VALUES (?,?,?,?,?,?)";
  280.         try{
  281.            
  282.              PreparedStatement statement =  ConexaoGames.connection.prepareStatement(sql);
  283.             statement.setString(1, tfCod.getText()); //Pega o código digitado e define no primeiro ?
  284.             statement.setString(2, tfNome.getText()); //Pega o titulo digitado e define no segundo ?
  285.             statement.setString(3, tfData.getText()); //Pega o autor digitado e define no terceiro ?
  286.             statement.setString(4, tfGen.getText()); // E por ai vai...
  287.             statement.setString(5, tfDes.getText());
  288.             statement.setString(6, tfPlat.getText());
  289.             statement.executeUpdate(); //Executa o Update pois meche com dados
  290.             JOptionPane.showMessageDialog(null,"Cadastro realizado com sucesso"); //Mensagem
  291.         }catch(HeadlessException | SQLException e){
  292.             System.out.println("O erro é o seguinte: "+e.toString());
  293.             System.exit(0);
  294.         }
  295.              System.exit(0);
  296.     }                                                
  297.  
  298.     private void tfDesActionPerformed(java.awt.event.ActionEvent evt) {                                      
  299.         // TODO add your handling code here:
  300.     }                                    
  301.  
  302.     private void jButtonExcluirActionPerformed(java.awt.event.ActionEvent evt) {                                              
  303.         String sql="DELETE FROM jogos WHERE codigo = ?"; //String do comando
  304.         try{
  305.             PreparedStatement statement = ConexaoGames.connection.prepareStatement(sql); //Prepara pra enviar a string pro banco
  306.             statement.setString(1, tfCod.getText()); /*Pega o que foi digitado no campo de texto do Código e define no
  307.             no 1º ponto de interrogação da string sql*/
  308.             statement.executeUpdate(); /*Executa o comando, como é um comando pra modificar os dados do banco, ele da um
  309.             execute update*/
  310.             JOptionPane.showMessageDialog(null,"Cadastro deletado com sucesso!"); //Exibe a mensagem de que foi realizado com sucesso
  311.         }catch(Exception e){
  312.             System.out.println("O erro é o seguinte: "+e.toString());
  313.             System.exit(0);
  314.         }
  315.     }                                              
  316.  
  317.     private void jButtonPesquisarActionPerformed(java.awt.event.ActionEvent evt) {                                                
  318.          String sql="SELECT * FROM jogos WHERE codigo = ?";
  319.         try{
  320.             PreparedStatement statement = ConexaoGames.connection.prepareStatement(sql);
  321.             statement.setString(1, tfCod.getText()); //Define o primeiro ? como código digitado
  322.             ResultSet resultSet = statement.executeQuery(); /*Pega o resultado do comando e define como ResultSet,
  323.             como não vai mudar os dados da tabela ele usa um executeQuery */
  324.             while (resultSet.next()){ //Enquanto tiver resultado ele vai realizar os comandos abaixo
  325.                 String codigo = resultSet.getString("Codigo"); //Pega o código do resultado
  326.                 String nome = resultSet.getString("Nome"); //Aqui pega o título, e por aí vai...
  327.                 String data_lanc = resultSet.getString("Data de Lançamento");
  328.                 String genero = resultSet.getString("Genero");
  329.                 String desenvolvedor = resultSet.getString("Desenvolvedor");            
  330.                 String plataformas = resultSet.getString("Plataforma");            
  331.            
  332.                 tfResult.setText(codigo+"    "+nome+"    "+data_lanc+"    "+genero+"    "+desenvolvedor+"    "+plataformas+"\n"); /*Aqui ele pega todos os resultados
  333.                 Deixa um espaço entre eles
  334.                 Pula linha e define como texto no
  335.                 area de texto*/
  336.             }
  337.         }catch(Exception e){
  338.             System.out.println("O erro é o seguinte: "+e.toString());
  339.             System.exit(0);
  340.         }
  341.     }                                                
  342.  
  343.     private void jButtonLimparActionPerformed(java.awt.event.ActionEvent evt) {                                              
  344.         tfCod.setText("");
  345.         tfNome.setText("");
  346.         tfData.setText("");
  347.         tfGen.setText("");
  348.         tfDes.setText("");
  349.         tfPlat.setText("");
  350.         tfResult.setText("");
  351.     }                                            
  352.  
  353.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  354.          String sql="SELECT * FROM jogos";
  355.         try{
  356.             PreparedStatement statement = ConexaoGames.connection.prepareStatement(sql);
  357.             ResultSet resultSet = statement.executeQuery();
  358.             while (resultSet.next()){
  359.             String codigo = resultSet.getString("Codigo");
  360.             String nome = resultSet.getString("Nome");
  361.             String data_lanc = resultSet.getString("Data de Lançamento");
  362.             String genero = resultSet.getString("Genero");
  363.             String desenvolvedor = resultSet.getString("Desenvolvedor");
  364.             String plataformas = resultSet.getString("Plataformas");
  365.             tfResult.setText(tfResult.getText()+codigo+"    "+nome+"    "+data_lanc+"    "+genero+"    "+desenvolvedor+"    "+plataformas+"\n");
  366.             }
  367.            
  368.                }
  369.     catch(Exception e){
  370.  System.out.println("O erro é o seguinte: "+e.toString());
  371.             System.exit(0);
  372.         }
  373.     }                                        
  374.  
  375.    
  376.     public static void main(String args[]) {
  377.    
  378.         try {
  379.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  380.                 if ("Nimbus".equals(info.getName())) {
  381.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  382.                     break;
  383.                 }
  384.             }
  385.         } catch (ClassNotFoundException ex) {
  386.             java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  387.         } catch (InstantiationException ex) {
  388.             java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  389.         } catch (IllegalAccessException ex) {
  390.             java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  391.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  392.             java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  393.         }
  394.  
  395.  
  396.  
  397.         java.awt.EventQueue.invokeLater(new Runnable() {
  398.             public void run() {
  399.                 new Interface().setVisible(true);
  400.             }
  401.         });
  402.     }
  403.  
  404.     // Variables declaration - do not modify                    
  405.     private javax.swing.JButton jButton1;
  406.     private javax.swing.JButton jButtonCadastrar;
  407.     private javax.swing.JButton jButtonExcluir;
  408.     private javax.swing.JButton jButtonLimpar;
  409.     private javax.swing.JButton jButtonPesquisar;
  410.     private javax.swing.JButton jButtonSair;
  411.     private javax.swing.JLabel jLabel1;
  412.     private javax.swing.JLabel jLabel2;
  413.     private javax.swing.JLabel jLabel3;
  414.     private javax.swing.JLabel jLabel4;
  415.     private javax.swing.JLabel jLabel5;
  416.     private javax.swing.JLabel jLabel6;
  417.     private javax.swing.JPanel jPanel1;
  418.     private javax.swing.JTextField tfCod;
  419.     private javax.swing.JTextField tfData;
  420.     private javax.swing.JTextField tfDes;
  421.     private javax.swing.JTextField tfGen;
  422.     private javax.swing.JTextField tfNome;
  423.     private javax.swing.JTextField tfPlat;
  424.     private javax.swing.JTextField tfResult;
  425.     // End of variables declaration                  
  426. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement