Menu que cria JButtons [RESOLVIDO]

3 respostas Resolvido
Fernando_Dos_Santos

Eai galera, Beleza,

Estou criando um programa de lanchonete, e na tela de pedidos haverá botões de lanches em suas respectivas categorias, lanche, bebida, sobremesa, etc, e eu queria criar um menu em que o usuário pudesse gerar automaticamente esses botões indo “adicionar novo item” com nome valores e ações e etc, o que eu quiser implementar nele, e não sei como posso está fazendo isso se puderem deixar um artigo para estudo ou um código exemplo para que eu possa colocar minha logica para funcionar kkk.

Valeu.

3 Respostas

staroski

Eu começaria criando as classes de domínio do seu problema, depois fica bem mais fácil implementar as telas.

Fernando_Dos_Santos

Conseguir criar um “Gerador de JButtons” baseado em algumas coisas que comseguir pescar da internet

Fernando_Dos_Santos
Solucao aceita
private void jbadicionarActionPerformed(java.awt.event.ActionEvent evt) {                                            
            // Variavel Recebendo oque foi digitado no campo de texto do nome
            String NomeLanche = jtnome.getText();
            int Categoria = jcbcategoria.getSelectedIndex();
            jtnome.setText("");
            
            if(NomeLanche.equals("")){ }else{
            
            //--------------------------------------\\
            if (Categoria == 0){//Categoria Lanches
                jtnome.setText("");
            int btnPorLinhaLanche = 800 / (200 + 5);
            int linhaAtualLanche = (++quantJbLanche) / btnPorLinhaLanche;
            int localAtualLanche = quantJbLanche % btnPorLinhaLanche;
            // Adicionando botão
            JButton newbtnlanche = new JButton(NomeLanche);
            //Largura e Altura do botão (Tamanho)
            newbtnlanche.setSize(140, 140);
            newbtnlanche.setLocation(10 + ((200 + 10) * localAtualLanche), 10 + ((40 + 140 ) * linhaAtualLanche));
            
            newbtnlanche.addActionListener(btnCLickLanche);
            Dimension dlanche = new Dimension(800, 10 + ((160 + 66) * linhaAtualLanche) - 55);
           jifpedidos.jdplanche.setPreferredSize(dlanche);
            
           jifpedidos.jdplanche.setSize(dlanche); 
           jifpedidos.jdplanche.add(newbtnlanche);
            }
            //--------------------------------------\\
            if (Categoria == 1){//Categoria Bebidas
                jtnome.setText("");
            int btnPorLinhaBebida = 800 / (200 + 5);
            int linhaAtualBebida = (++quantJbBebida) / btnPorLinhaBebida;
            int localAtualBebida = quantJbBebida % btnPorLinhaBebida;
            // Adicionando botão
            JButton newbtnBebida = new JButton(NomeLanche);
            //Largura e Altura do botão (Tamanho)
            newbtnBebida.setSize(140, 140);
            newbtnBebida.setLocation(10 + ((200 + 10) * localAtualBebida), 10 + ((40 + 140 ) * linhaAtualBebida));
            
            newbtnBebida.addActionListener(btnCLick);
            Dimension dBebida = new Dimension(800, 10 + ((160 + 40) * linhaAtualBebida) + 200);
           jifpedidos.jdpbebida.setPreferredSize(dBebida);
            
           jifpedidos.jdpbebida.setSize(dBebida); 
           jifpedidos.jdpbebida.add(newbtnBebida);
           }
            //--------------------------------------\\
            if (Categoria == 2){//Categoria Sobremesa
                jtnome.setText("");
            int btnPorLinhaSobremesa = 800 / (200 + 5);
            int linhaAtualSobremesa = (++quantJbSobremesa) / btnPorLinhaSobremesa;
            int localAtualSobremesa = quantJbSobremesa % btnPorLinhaSobremesa;
            // Adicionando botão
            JButton newbtnSobremesa = new JButton(NomeLanche);
            //Largura e Altura do botão (Tamanho)
            newbtnSobremesa.setSize(140, 140);
            newbtnSobremesa.setLocation(10 + ((200 + 10) * localAtualSobremesa), 10 + ((40 + 140 ) * linhaAtualSobremesa));
            
            newbtnSobremesa.addActionListener(btnCLick);
            Dimension dBebida = new Dimension(800, 10 + ((160 + 40) * linhaAtualSobremesa) + 200);
           jifpedidos.jdpsobremesa.setPreferredSize(dBebida);
            
           jifpedidos.jdpsobremesa.setSize(dBebida); 
           jifpedidos.jdpsobremesa.add(newbtnSobremesa);
           }
            }
}
Criado 19 de outubro de 2021
Ultima resposta 25 de out. de 2021
Respostas 3
Participantes 2