Buenas he hecho un formulario en Java y me gustaría,
que al pulsar un botón se borrase el formulario y en la
ventana apareciese algo asi ("tu nombre es: "+campoNombre.getText() ) etc...
De momento he conseguido que al pulsar el botón se borre un JPanel el cual tiene todos los elementos del formulario. de este modo:
Código:
public void actionPerformed(ActionEvent evento)
{
panelGlobal.removeAll();
panelGlobal.repaint();
}
al pulsar el botón se inicia ese código.
Ahora una vez la ventana está limpia lo que pense era añadirle ahora el texto con los datos del formulário algo como esto:
Código:
public void actionPerformed(ActionEvent evento)
{
panelGlobal.removeAll();
panelGlobal.repaint();
panelGlobal.add(new JLabel("tu nombre es: "+nombre.getText()))
[....] etccc
}
pero a la ventana sigue en blanco aunque le añada JLabels etc...
Me harías un favor si me ayudaseis con ello un saludo
Para los que tengan paciencia y, o ganas de aprender os dejo el código del proyecto entero:
Código:
public class FormularioConScrollCheckBottonsETC implements ActionListener
{
//limpiar JFrame removeAll()//or remove(JComponent) revalidate(); repaint();
JFrame frame;
static JButton enviar,cancelar;
static JTextField nombre;
static JPasswordField password;
static JTextArea descripcion;
static JScrollPane scrollDescripcion;
static ButtonGroup radioBotones;
static JRadioButton opcion1,opcion2;
static Checkbox hobby1,hobby2,hobby3;
static JList lista;
JPanel panelGlobal;
FormularioConScrollCheckBottonsETC()
{
//creacion de frame y paneles
frame=new JFrame("Formulario");
//frame.setLayout(new GridLayout(8,2));
//inicializamos las variables globales
panelGlobal=new JPanel();
panelGlobal.setLayout(new GridLayout(8,2));
enviar=new JButton("Enviar");
enviar.addActionListener(this);
cancelar=new JButton("Cancelar");
cancelar.addActionListener(this);
nombre=new JTextField(10);
password=new JPasswordField(10);
descripcion=new JTextArea();
scrollDescripcion=new JScrollPane(descripcion);
radioBotones=new ButtonGroup();
opcion1=new JRadioButton("Si",true);
opcion2=new JRadioButton("no");
radioBotones.add(opcion1);
radioBotones.add(opcion2);
hobby1=new Checkbox("ordenadores",false);
hobby2=new Checkbox("deportes",false);
hobby3=new Checkbox("darse palillo",false);
String cosasLista[]={"Soltero","Casado"};
lista=new JList(cosasLista);
//añadimos cosas
//nombre
panelGlobal.add(new JLabel("Nombre: ",JLabel.RIGHT));
panelGlobal.add(nombre);
//contraseña
panelGlobal.add(new JLabel("contraseña: ",JLabel.RIGHT));
panelGlobal.add(password);
//descripcion con Scroll
panelGlobal.add(new JLabel("Descripción: ",JLabel.RIGHT));
panelGlobal.add(scrollDescripcion);
//RadioButtons
JPanel panelRadioBotones=new JPanel();
panelRadioBotones.add(opcion1);
panelRadioBotones.add(opcion2);
panelGlobal.add(new JLabel("¿Es vegetariano?",JLabel.RIGHT));
panelGlobal.add(panelRadioBotones);
//checkButtons
JPanel panelCheckBotones=new JPanel();
panelCheckBotones.add(hobby1);
panelCheckBotones.add(hobby2);
panelCheckBotones.add(hobby3);
panelGlobal.add(new JLabel("Hobbies: ",JLabel.RIGHT));
panelGlobal.add(panelCheckBotones);
//lista de opciones
panelGlobal.add(new JLabel("Estado civil: ",JLabel.RIGHT));
panelGlobal.add(lista);
//Boton enviar
panelGlobal.add(enviar);
panelGlobal.add(cancelar);
frame.add(panelGlobal);
//empaquetamos
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent evento)
{
//Container f=frame.getContentPane();
if (evento.getSource()==cancelar)
{
System.exit(0);
}
else if (evento.getSource()==enviar)
{
//Primero limpiamos el panel
panelGlobal.removeAll();
panelGlobal.repaint();
//pruba
}
}
public static void main (String ar[])
{
FormularioConScrollCheckBottonsETC
v1
=
new FormularioConScrollCheckBottonsETC ();
}
}