Então galera, eu criei um um código que ele vai gerar um Botão com o Nome digitado em um JtextField
gostaria de saber como posso está removendo alguns dos botões desejados, ja que é possivel criar acredito que a uma forma de deletar,
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);
Se vc quer excluir esse novo botão em um método diferente, newbtnlanche tem que ser uma variavel estática/global pra depois ser removida pelo jdplanche.remove(...);
public class jifcadlanche extends javax.swing.JInternalFrame {
// Codigo do Botão lanche
int cod;
int X = 0;
// Contador para gerar numero codigo da variavel dos botoes
int cont = 1;
// Ação dos botoes
public static ActionListener btnCLickBebida = null;
public static ActionListener btnCLickLanche = null;
public static ActionListener btnCLickSobremesa = null;
//Array dos botões lanche
JButton newbtnlanche[] = new JButton[999999];
private static jifcadlanche jifcadLanche;
// Método que remove botão
public void removerBotao(JButton button) {
jdplanche.remove(button);
}
// Instanciando o JinternalFrame de Cadastro de lanche
public static jifcadlanche getInstancia() {
if (jifcadLanche == null) {
jifcadLanche = new jifcadlanche();
}
return jifcadLanche;
}
}
// Ação do botão adicionar
private void jbadicionarActionPerformed(java.awt.event.ActionEvent evt) {
// Recebendo valores Nome e valor do lanche
String NomeLanche = jtnome.getText();
String ValorLanche = jftvalor.getText();
//Abas das categoria de lanches (Lanches, Bebidas, Sobremesa)
int Categoria = jcbcategoria.getSelectedIndex();
//Se nome lanche
if (NomeLanche.equals("")) {
} else {
if (ValorLanche.equals("")) {
} else {
// Codigo que será inserido na tabela de cadastro de lanche
X = X + 1;// Contador que gera um "Código"
String CodigoLanche = String.valueOf(X);// Convertendo um INTEIRO para STRINGS
//Ação que ao clicar no botão especifico do lanche ira adicionar na Comanda
btnCLickLanche = new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt1) {
DefaultTableModel vall = (DefaultTableModel) jtblanche.getModel();
vall.addRow(new String[]{CodigoLanche, NomeLanche, ValorLanche});
}
};
//Listando na tabela
DefaultTableModel val = (DefaultTableModel) jtbaddlanche.getModel();
val.addRow(new String[]{CodigoLanche, NomeLanche, ValorLanche});
//--------------------------------------\\
//Categoria Lanches
if (Categoria == 0) {
// Adicionando botão
newbtnlanche[cont] = new JButton(NomeLanche);
//Largura e Altura do botão (Tamanho)
newbtnlanche[cont].setPreferredSize(new Dimension(140, 140));
//Fonte e tamanho do botão
newbtnlanche[cont].setFont(new java.awt.Font("Arial", 0, 16)); // NOI18N
// Gerenciador de Layout que organiza automaticamente aonde os botoes é inserido
jdplanche.setLayout(new FlowLayout(FlowLayout.LEADING, 50, 50));
// Dando a aação ao botão
newbtnlanche[cont].addActionListener(btnCLickLanche);
// Adicionando o botão ao JDesktopPane = jdplanche
jifpedidos.jdplanche.add(newbtnlanche[cont]);
//contador que gera os numeros finais de cada variavel criada
cont = cont + 1;
}
}
// Ação do botão remover
private void jbremoverActionPerformed(java.awt.event.ActionEvent evt) {
//Chamando método que remove botão, "newbtnlanche" variavel dos botoes mais "cod" que diz quais dos botoes do arrey sera apagado
removerBotao(newbtnlanche[cod]);
//Removendo da tabela a informação relacionado ao botão removido
((DefaultTableModel) jtbaddlanche.getModel()).removeRow(jtbaddlanche.getSelectedRow());
}
//ação do de quando mouse é clicado na tabela
private void jtbaddlancheMouseClicked(java.awt.event.MouseEvent evt) {
//Linha selecionada da tabela
int row = jtbaddlanche.getSelectedRow();
// Obtendo valor da coluna 0 (primeira coluna) da linha selecionada (Row), "getValueAt(row, 0);"
Object o = jtbaddlanche.getValueAt(row, 0);
cod = Integer.parseInt((String) o);
}