Como borrar JLabel en una JPanel???
Publicado por Rodrigo Garcia (1 intervención) el 03/05/2007 20:29:03
Estoy haciendo una aplicacion en SWING y el problema radica en que cada vez que aprieto un boton determinado deben aparcer varios JLabel diferentes para cada boton. La primera vez que oprimo el boton esta salen bien pero posteriormente cuando oprimo otros se empiezan a encimar los JLabel porque no se borrar de donde los puso que es un JPanel.
Ya trate con el metodo de removeAll() y tambien con la ayuda de validate() pero no funciona, alguien sabe como??????????
private void jBotonesTablasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jPanel6.removeAll(); // <----------segun con esto se tendrian que borrar
javax.swing.JButton objJBT = (javax.swing.JButton)evt.getSource();
for (int i = 0; i < numBotones; i++)
if (objJBT.getText() == jBotonesTablas[i].getText()) {
jLabel1.setText(jBotonesTablas[i].getText());
opcion = i;
}
ponerCampos();
}
private void ponerCampos() {
int numTextos = cabeceras[opcion].length;
jEtiquetas = new javax.swing.JLabel[cabeceras[opcion].length];
jTexto = new javax.swing.JTextField[cabeceras[opcion].length];
int y = 210/numTextos;
for (int i = 0; i < numTextos; i++) {
jEtiquetas[i] = new javax.swing.JLabel();
jEtiquetas[i].setText(cabeceras[opcion][i]);
jPanel6.add(jEtiquetas[i]);
jEtiquetas[i].setBounds(20, y*i, 150, 25);
}
for (int i = 0; i < numTextos; i++) {
jTexto[i] = new javax.swing.JTextField();
jTexto[i].setText(null);
jPanel6.add(jTexto[i]);
jTexto[i].setBounds(150, y*i, 300, 25);
}
jPanel6.validate();
}
Ya trate con el metodo de removeAll() y tambien con la ayuda de validate() pero no funciona, alguien sabe como??????????
private void jBotonesTablasActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jPanel6.removeAll(); // <----------segun con esto se tendrian que borrar
javax.swing.JButton objJBT = (javax.swing.JButton)evt.getSource();
for (int i = 0; i < numBotones; i++)
if (objJBT.getText() == jBotonesTablas[i].getText()) {
jLabel1.setText(jBotonesTablas[i].getText());
opcion = i;
}
ponerCampos();
}
private void ponerCampos() {
int numTextos = cabeceras[opcion].length;
jEtiquetas = new javax.swing.JLabel[cabeceras[opcion].length];
jTexto = new javax.swing.JTextField[cabeceras[opcion].length];
int y = 210/numTextos;
for (int i = 0; i < numTextos; i++) {
jEtiquetas[i] = new javax.swing.JLabel();
jEtiquetas[i].setText(cabeceras[opcion][i]);
jPanel6.add(jEtiquetas[i]);
jEtiquetas[i].setBounds(20, y*i, 150, 25);
}
for (int i = 0; i < numTextos; i++) {
jTexto[i] = new javax.swing.JTextField();
jTexto[i].setText(null);
jPanel6.add(jTexto[i]);
jTexto[i].setBounds(150, y*i, 300, 25);
}
jPanel6.validate();
}
Valora esta pregunta


0