Ir ao conteúdo
  • Cadastre-se

Java Interface assim que fechada, abre outra exatamente igual.


Razor76

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!