1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Remover JLabel criado dinamicamente em um JFrame

Estou tentando remover labels criados dinamicamente em um JFrame, mas não estou conseguindo. Eu posisiono um label de 1 a 25 e embaixo deles coloco os checkboxes. Coloquei tb um botão que ao clicar nele mostra na tela só os checkboxes marcados, porém quando clico novamente queria que oas labels anteriores fossem removidos e recriados com as novas marcações do checkbox, mas isto não estou conseguindo. Alguém pode me ajudar? Segue abaixo o meu projeto:

/ To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. */

package jlabeldfa;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JLabel;

/* @author dfaal / public class CriandoUmJLabel extends javax.swing.JFrame implements ActionListener{ private int posicao=105; private int posicaoLabel=35;

private int posicaoBox=32; private int indiceCheckbox = 0; private String label_Block; private int x=0; private List checkboxes = new ArrayList(); private List bloqueados = new ArrayList();

public void actionPerformed(ActionEvent e){ LimpaBloqueados(); MostraBloqueados(); }

/* Creates new form CriandoUmJLabel */ public CriandoUmJLabel() { initComponents(); JLabel label=new JLabel(); label.setVisible(true); label.setText(" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 "); label.setSize(600, 50); label.setLocation(32, posicao); getContentPane().add(label); CriandoChkB(); Botao();

}

@SuppressWarnings("empty-statement") public void CriandoChkB(){ for(int i=0;i<=24;i++){ indiceCheckbox++; JCheckBox checkBox2 = new JCheckBox(); checkBox2.setName(String.format("chkbox"+Integer.toString(indiceCheckbox))); checkBox2.setVisible(true); checkBox2.setBounds(posicaoBox, 140, 20, 20); getContentPane().add(checkBox2); posicaoBox=posicaoBox+20; checkboxes.add(checkBox2);

}

}

public void Botao(){ JButton btn_Botao= new JButton("Ok"); btn_Botao.setBounds(32, 170, 60, 30); btn_Botao.setVisible(true); getContentPane().add(btn_Botao); btn_Botao.addActionListener(this);

}

public void LimpaBloqueados(){ initComponents(); int x=0; int posicaoLabel=35; x=0; posicaoLabel=35; for(int i=0;i<=24;i++){

x=i+1;

label_Block=Integer.toString(x); if(x<10){ label_Block="0"+label_Block; }

JLabel labelBloqueados=new JLabel(); labelBloqueados.setText(label_Block); labelBloqueados.setVisible(true); getContentPane().remove(labelBloqueados); posicaoLabel=posicaoLabel+20;

}

}

public void MostraBloqueados(){ initComponents();

int x=0; int posicaoLabel=35; x=0; posicaoLabel=35; for(int i=0;i<=24;i++){

if(checkboxes.get(i).isSelected()){ x=i+1;

label_Block=Integer.toString(x); if(x<10){ label_Block="0"+label_Block; }

JLabel labelBloqueados=new JLabel(); labelBloqueados.setVisible(true); labelBloqueados.setText(label_Block); labelBloqueados.setBounds(posicaoLabel, 200, 50, 50); getContentPane().add(labelBloqueados); posicaoLabel=posicaoLabel+20; }

} } /* This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 720, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 449, Short.MAX_VALUE) );

pack(); }//

/* @param args the command line arguments / public static void main(String args[]) { / Set the Nimbus look and feel / // / If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html / try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(CriandoUmJLabel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } //

/ Create and display the form / java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new CriandoUmJLabel().setVisible(true); } }); }

// Variables declaration - do not modify // End of variables declaration}

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.