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:
al pulsar el botón se inicia ese código.public void actionPerformed(ActionEvent evento) { panelGlobal.removeAll(); panelGlobal.repaint(); }
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:
pero a la ventana sigue en blanco aunque le añada JLabels etc...public void actionPerformed(ActionEvent evento) { panelGlobal.removeAll(); panelGlobal.repaint(); panelGlobal.add(new JLabel("tu nombre es: "+nombre.getText())) [....] etccc }
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 (); } }