Ir ao conteúdo

Posts recomendados

Postado

Sempre que fecho a janela de listar produto ela abre outra igual imediatamente, quero que ela feche e continue rodando o programa no terminal.

 

Classe principal:

import DAO.CamisaDAO;
import DAO.CamisaTimeDAO;
import DAO.TenisDAO;
import factory.ConnectionFactory;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
import javax.swing.JFrame;

public class Principal{
 
     
    public static void main(String[] args ){
       
        //CHAMAR A FUNCAO DE INICIAR O SISTEMA
        Principal.iniciarSistema();
        
    }
    
    public static void iniciarSistema(){
        
        
        Scanner scanner = new Scanner(System.in);
            
        String systemNome = "ARTIGOS ESPORTIVOS ANIMA";
        
            System.out.println("==============================");
            System.out.println(systemNome);
            System.out.println("==============================");
            System.out.println("Escolha uma opção:");
            System.out.println("1 - Adicionar novo produto");
            System.out.println("2 - Listar produtos");
            System.out.println("3 - Editar um produto");
            System.out.println("4 - Excluir um produto");
            System.out.println("==============================\n\n");
            
        int opcao = scanner.nextInt();
        scanner.nextLine();
            
        while(true){  
            switch(opcao){
                case 1:
                   //ADICIONAR NOVO PRODUTO
                    Principal.addNewProduct();
                break;

                case 2:
                    // LISTAR TODOS OS PRODUTOS
                    Principal.showProduct();
                break;

                case 3:
                    //EDITAR UM PRODUTO
                    Principal.editProduct();
                break;

                case 4:
                    //EXCLUIR UM PRODUTO
                    Principal.removeProduct();
                break;

                case 0:
                    scanner.close();
                    System.exit(0);
                break;

                default:
                System.out.println("Opcão inválida");

                break;
            }

        }
    }
    
    public static Produto addNewProduct(){
        Scanner scanner = new Scanner(System.in);
        
        String nome, cor, tamanho, clube;
        double preco;
        int tamanhoTenis, marca, tipoProduto;
       
        System.out.println("\nADICIONAR UM NOVO PRODUTO");
        System.out.println("==============================");
        System.out.println("Escolha uma opção:");
        System.out.println("1 - Camisa");
        System.out.println("2 - Camisa Time");
        System.out.println("3 - Tênis");
        System.out.println("0 - voltar ao menu");
        System.out.println("==============================\n\n");
        
        int opcaoAdd = scanner.nextInt();
        scanner.nextLine();
        
        switch(opcaoAdd){
            case 0:
                Principal.iniciarSistema();
            break;

            case 1:
            //CAMISA
        
            CamisaDAO camisaDao = new CamisaDAO();
            
            System.out.println("Digite o nome da Camisa");
            nome = scanner.nextLine();
      
            System.out.println("Digite a cor da Camisa");
            cor = scanner.nextLine();

            System.out.println("Digite o preço");
            preco = scanner.nextDouble();
            scanner.nextLine();

            System.out.println("Escolha a marca");
            Principal.chooseBrand();
            marca = scanner.nextInt();
            scanner.nextLine();

            System.out.println("Digite o tamanho da Camisa");
            tamanho = scanner.nextLine();

            tipoProduto = opcaoAdd;
            
            Camisa camisa = new Camisa(nome, cor, preco, marca, tipoProduto, tamanho);
            
            camisaDao.add(camisa);
            
            break;
            case 2:
            //CAMISA TIME
      
            CamisaTimeDAO camisaTimeDao = new CamisaTimeDAO();
            
            System.out.println("Digite o nome da Camisa");
            nome = scanner.nextLine();
      
            System.out.println("Digite a cor da Camisa");
            cor = scanner.nextLine();

            System.out.println("Digite o preço");
            preco = scanner.nextDouble();
            scanner.nextLine();

            System.out.println("Escolha a marca");
            Principal.chooseBrand();
            marca = scanner.nextInt();
            scanner.nextLine();

            System.out.println("Digite o tamanho da Camisa");
            tamanho = scanner.nextLine();

            tipoProduto = opcaoAdd;

            System.out.println("Digite o nome do clube da Camisa");
            clube = scanner.nextLine();


            CamisaTime camisaTime = new CamisaTime(nome, cor, preco, marca, tipoProduto, tamanho, clube);
            
            camisaTimeDao.add(camisaTime);
            break;
            
            case 3:
            //TENIS
                
            TenisDAO tenisDao = new TenisDAO();
            
            System.out.println("Digite o nome do tênis");
            nome = scanner.nextLine();
      
            System.out.println("Digite a cor do tênis");
            cor = scanner.nextLine();

            System.out.println("Digite o preço");
            preco = scanner.nextDouble();
            scanner.nextLine();

            System.out.println("Escolha a marca");
            Principal.chooseBrand();
            marca = scanner.nextInt();

            System.out.println("Digite o tamanho do tênis");
            tamanhoTenis = scanner.nextInt();

            tipoProduto = opcaoAdd;
            
            Tenis tenis = new Tenis(nome, cor, preco, marca, tipoProduto, tamanhoTenis);
            
            tenisDao.add(tenis);
            break;
            
            default:
            System.out.println("Opção inválida");
            break;
        }
        return null;
    }
    
    public static void editProduct(){
        Scanner scanner = new Scanner(System.in);

        String nome = "", cor = "", tamanho = "", clube = "";
        double preco = 0;
        int tamanhoTenis = 0, marca = 0, tipoProduto = 0, cod = 0;
       
        System.out.println("\nEDITAR PRODUTO");
        System.out.println("==============================");
        System.out.println("Escolha o tipo de produto:");
        System.out.println("1 - Camisa");
        System.out.println("2 - Camisa Time");
        System.out.println("3 - Tênis");
        System.out.println("0 - voltar ao menu");
        System.out.println("==============================\n\n");
        
        int opcao = scanner.nextInt();
        if (opcao != 0) {
            System.out.println("Digite o código do produto que deseja editar");
            cod = scanner.nextInt();
        }
        
        switch(opcao){
            case 0:
                Principal.iniciarSistema();
            break;

            case 1:
            //CAMISA
            CamisaDAO camisaDao = new CamisaDAO();
        
            System.out.println("Escolha os campos que deseja editar:");
            System.out.println("1 - Nome");
            System.out.println("2 - Cor");
            System.out.println("3 - Preço");
            System.out.println("4 - Marca");
            System.out.println("5 - Tamanho");
            System.out.println("6 - Todos");
            System.out.println("0 - Voltar ao menu");
            int editar = scanner.nextInt();
            
            switch(editar){
                case 0:
                    Principal.iniciarSistema();
                break;

                case 1:
                    scanner.nextLine();
                    System.out.println("Digite o nome da Camisa");
                    nome = scanner.nextLine();
                break;
                
                case 2:
                    scanner.nextLine();
                    System.out.println("Digite a cor da Camisa");
                    cor = scanner.nextLine();
                break;

                case 3:
                    scanner.nextLine();
                    System.out.println("Digite o preço");
                    preco = scanner.nextDouble();
                break;
                
                case 4:
                    scanner.nextLine();
                    System.out.println("Escolha a marca");
                    Principal.chooseBrand();
                    marca = scanner.nextInt();
                break;
                
                case 5:
                    scanner.nextLine();
                    System.out.println("Digite o tamanho da Camisa");
                    tamanho = scanner.nextLine();
                break;
                
                case 6:
                    scanner.nextLine();
                    System.out.println("Digite o nome da Camisa");
                    nome = scanner.nextLine();
            
                    System.out.println("Digite a cor da Camisa");
                    cor = scanner.nextLine();
        
                    System.out.println("Digite o preço");
                    preco = scanner.nextDouble();
                    scanner.nextLine();
        
                    System.out.println("Escolha a marca");
                    Principal.chooseBrand();
                    marca = scanner.nextInt();
                    scanner.nextLine();
        
                    System.out.println("Digite o tamanho da Camisa");
                    tamanho = scanner.nextLine();

                    tipoProduto = editar;
                break;
            }
            
            Camisa camisa = new Camisa(nome, cor, preco, marca, tipoProduto, tamanho);
            
            camisaDao.edit(camisa, cod, editar);
            
            break;
            case 2:
            //CAMISA TIME
      
            CamisaTimeDAO camisaTimeDao = new CamisaTimeDAO();
            
            System.out.println("Escolha os campos que deseja editar:");
            System.out.println("1 - Nome");
            System.out.println("2 - Cor");
            System.out.println("3 - Preço");
            System.out.println("4 - Marca");
            System.out.println("5 - Tamanho");
            System.out.println("6 - Clube");
            System.out.println("7 - Todos");
            editar = scanner.nextInt();
            
            switch(editar){
                case 1:
                    scanner.nextLine();
                    System.out.println("Digite o nome da Camisa");
                    nome = scanner.nextLine();
                break;
                
                case 2:
                    scanner.nextLine();
                    System.out.println("Digite a cor da Camisa");
                    cor = scanner.nextLine();
                break;

                case 3:
                    scanner.nextLine();
                    System.out.println("Digite o preço");
                    preco = scanner.nextDouble();
                break;
                
                case 4:
                    scanner.nextLine();
                    System.out.println("Escolha a marca");
                    Principal.chooseBrand();
                    marca = scanner.nextInt();
                break;
                
                case 5:
                    scanner.nextLine();
                    System.out.println("Digite o tamanho da Camisa");
                    tamanho = scanner.nextLine();
                break;
                
                case 6:
                    scanner.nextLine();
                    System.out.println("Digite o nome do clube da Camisa");
                    clube = scanner.nextLine();
                break;
                
                case 7:
                    scanner.nextLine();
                    System.out.println("Digite o nome da Camisa");
                    nome = scanner.nextLine();
            
                    System.out.println("Digite a cor da Camisa");
                    cor = scanner.nextLine();

                    System.out.println("Digite o preço");
                    preco = scanner.nextDouble();
                    scanner.nextLine();

                    System.out.println("Escolha a marca");
                    Principal.chooseBrand();
                    marca = scanner.nextInt();
                    scanner.nextLine();

                    System.out.println("Digite o tamanho da Camisa");
                    tamanho = scanner.nextLine();

                    System.out.println("Digite o nome do clube da Camisa");
                    clube = scanner.nextLine();

                    tipoProduto = editar;

                break;
            }
            CamisaTime camisaTime = new CamisaTime(nome, cor, preco, marca, tipoProduto, tamanho, clube);
            camisaTimeDao.edit(camisaTime, cod, editar);

            break;
            
            case 3:
            //TENIS
                
            TenisDAO tenisDao = new TenisDAO();
            
            System.out.println("Escolha os campos que deseja editar:");
            System.out.println("1 - Nome");
            System.out.println("2 - Cor");
            System.out.println("3 - Preço");
            System.out.println("4 - Marca");
            System.out.println("5 - Tamanho");
            System.out.println("6 - Todos");
            editar = scanner.nextInt();
            
            switch(editar){
                case 0:
                    Principal.iniciarSistema();
                break;

                case 1:
                    scanner.nextLine();
                    System.out.println("Digite o nome do tênis");
                    nome = scanner.nextLine();
                break;
                
                case 2:
                    scanner.nextLine();
                    System.out.println("Digite a cor do tênis");
                    cor = scanner.nextLine();
                break;

                case 3:
                    scanner.nextLine();
                    System.out.println("Digite o preço");
                    preco = scanner.nextDouble();
                break;
                
                case 4:
                    scanner.nextLine();
                    System.out.println("Escolha a marca");
                    Principal.chooseBrand();
                    marca = scanner.nextInt();
                break;
                
                case 5:
                    scanner.nextLine();
                    System.out.println("Digite o tamanho do tênis");
                    tamanhoTenis = scanner.nextInt();
                break;
                
                case 6:
                    scanner.nextLine();
                    System.out.println("Digite o nome do tênis");
                    nome = scanner.nextLine();
            
                    System.out.println("Digite a cor do tênis");
                    cor = scanner.nextLine();
        
                    System.out.println("Digite o preço");
                    preco = scanner.nextDouble();
                    scanner.nextLine();
        
                    System.out.println("Escolha a marca");
                    Principal.chooseBrand();
                    marca = scanner.nextInt();
                    scanner.nextLine();
        
                    System.out.println("Digite o tamanho do tênis");
                    tamanhoTenis = scanner.nextInt();

                    tipoProduto = editar;
                break;
            }
            
            Tenis tenis = new Tenis(nome, cor, preco, marca, tipoProduto, tamanhoTenis);

            tenisDao.edit(tenis, cod, editar);
            break;
            
            default:
            System.out.println("Opção inválida");
            break;
        }
        
    }
    
    public static void showProduct(){
        
        Screen tela = Screen.getInstance();
        tela.setVisible(true);
       
       
        
        
//        Scanner scanner = new Scanner(System.in);
//        
//        System.out.println("\nLISTAGEM DE PRODUTOS");
//        System.out.println("==============================");
//        System.out.println("Escolha o tipo de produto:");
//        System.out.println("1 - Camisa");
//        System.out.println("2 - Camisa de Time");
//        System.out.println("3 - Tênis");
//        System.out.println("0 - Voltar ao menu");
//        System.out.println("==============================\n\n");
//        
//        int opcao = scanner.nextInt();
//        scanner.nextLine();
//        
//        switch(opcao){
//            case 1:
//            //CAMISA
//                CamisaDAO camisaDao = new CamisaDAO();
//                camisaDao.read();
//            break;
//            
//            case 2:
//            //CAMISA TIME
//                CamisaTimeDAO camisaTimeDao = new CamisaTimeDAO();
//                camisaTimeDao.read();
//            break;
//            
//            case 3:
//            //TENIS
//                TenisDAO tenisDao = new TenisDAO();
//                tenisDao.read();
//            break;
//            
//            case 0:
//            //VOLTAR AO MENU
//                Principal.iniciarSistema();
//            break;
//            
//            default:
//            System.out.println("Opção inválida");
//            break;
//        }
    }
    
    public static void removeProduct(){
        Scanner scanner = new Scanner(System.in);

        System.out.println("\nEXCLUSÃO DE PRODUTOS");
        System.out.println("==============================");
        System.out.println("Escolha uma opção:");
        System.out.println("1 - Camisa");
        System.out.println("2 - Camisa Time");
        System.out.println("3 - Tênis");
        System.out.println("0 - voltar ao menu");
        System.out.println("==============================\n\n");
        
        int opcao = scanner.nextInt();
        int cod = 0;
        
        if (opcao != 0) {
            System.out.println("Digite o código do produto que deseja excluir");
            cod = scanner.nextInt();
        }

        switch(opcao){
            case 0:
                    Principal.iniciarSistema();
            break;

            case 1:
            //CAMISA
                CamisaDAO camisaDao = new CamisaDAO();
                camisaDao.remove(cod);
            break;
            
            case 2:
            //CAMISA TIME
                CamisaTimeDAO camisaTimeDao = new CamisaTimeDAO();
                camisaTimeDao.remove(cod);
            break;
            
            case 3:
            //TENIS
                TenisDAO tenisDao = new TenisDAO();
                tenisDao.remove(cod);
            break;
            
            default:
            System.out.println("Opção inválida");
            break;
        }
    }

    public static void chooseBrand(){
        String sql = "SELECT * FROM marca";
        
        Connection conn = null;
        PreparedStatement pstm = null;
        
        try{
            //CRIAR CONEXAO
            conn = ConnectionFactory.createConnectionToMySQL();
            
            pstm = (PreparedStatement) conn.prepareCall(sql);
            ResultSet rs = pstm.executeQuery();
            
            while(rs.next()){
                int codigo = rs.getInt("id");
                String marca = rs.getString("marca");
                System.out.printf("%d- %s\n",codigo, marca);
            }
            
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            
            //ENCERRAR AS CONEXOES
            try{
                if(pstm != null){
                    pstm.close();
                }
                
                if(conn != null){
                    conn.close();
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }

}

 

Classe interface:

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

import DAO.CamisaDAO;
import DAO.CamisaTimeDAO;
import DAO.TenisDAO;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;



public  class Screen extends JFrame {
    private JComboBox<String> productComboBox;
    
    private static Screen instance = null;

    public Screen() {
        setTitle("Sistema de Produtos");
        setSize(700, 500);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setResizable(false);
        setLocationRelativeTo(null);

        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(3, 2));

        JLabel label = new JLabel("Escolha o tipo de produto:");
        panel.add(label);

        String[] products = {"Selecione", "Camisa", "Camisa de Time", "Tênis"};
        productComboBox = new JComboBox<>(products);
        panel.add(productComboBox);

        JButton showButton = new JButton("Mostrar Produtos");
        panel.add(showButton);

        showButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                showProduct();
            }
        });

        add(panel);
        
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
            
            setVisible(false);
            dispose(); // Libera recursos associados à janela
            
             
                
            }
        });
    }

public void showProduct() {
        int selectedOption = productComboBox.getSelectedIndex();

        switch (selectedOption) {
            case 1:
                // CAMISA
            CamisaDAO camisaDao = new CamisaDAO();
            String camisaMessage = camisaDao.read();
            JOptionPane.showMessageDialog(this, camisaMessage, "Produtos de Camisa", JOptionPane.INFORMATION_MESSAGE);
            break;
            case 2:
                // CAMISA TIME
                CamisaTimeDAO camisaTimeDao = new CamisaTimeDAO();
                String camisaMessage2 = camisaTimeDao.read();
                JOptionPane.showMessageDialog(this, camisaMessage2, "Produtos Camisa de time", JOptionPane.INFORMATION_MESSAGE);
                break;
            case 3:
                // TENIS
                TenisDAO tenisDao = new TenisDAO();
                String tenisMessage = tenisDao.read();
            JOptionPane.showMessageDialog(this, tenisMessage, "Produtos de Tênis", JOptionPane.INFORMATION_MESSAGE);
            break;
                
        }
}

public static Screen getInstance() {
    if (instance == null || !instance.isVisible()) {
        instance = new Screen();
    }
    return instance;
}
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!