Java no es muy bueno con el trabajo de interfaces graficas, pero tiene un conjunto de librer&icute;as que son buenas (adem´s de contar con FX), en este caso queremos actualizar un panel central dentro de un formulario. Para esto lo que queremos según la figura es que al presionar clic en los botones en la parte del centro aparezca el cambio y no haya necesidad que abrir mas ventanas.
Para esto usaremos Netbeans 8.0, y crearemos un proyecto nuevo -> Java Aplicación
Agregaremos un JFrame que ser´ nuestra pantalla que vemos en la figura anterior. Lo primero que hicimos fue poner como BorderLayout nuestro JFrame, esto lo que hace es dividir mi pantalla en sur, norte, este, oeste y centro este ultimo se expande a lo que queda de la pantalla .
Posteriormente en la pantalla, en la parte norte inserto un Jpanel y dando clic derecho escojo como administrador de diseño FlowLayout para que los botones se pongan lineales, posteriormente agrego los dos botones en la parte superior.
Luego nos vamos a agregar nuevo Item de swing y agregamos dos JPanelForm que vienen junto con los JFrame y ponemos en cada uno de ellos, su contenido.
Listo con eso sera suficiente lo demas se lo dejaremos al codigo
Declaraamos un JPanel que va a hacer el interno
JPanel aux;
Y ahora por ejemplo yo quiero que aparezca el panel dos desde el inicio despues de initComponents dentro del constructor pondría lo siguiente
initComponents(); aux = new Dos (); this.add(aux,BorderLayout.CENTER); this.pack();
y en cada uno de los eventos de los botones pues lo que queramos abrir
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.remove(aux); aux = new Uno(); this.add(aux,BorderLayout.CENTER); //this.repaint(); this.pack(); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.remove(aux); aux = new Dos (); this.add(aux,BorderLayout.CENTER); this.pack(); }
Espero les haya servido.
No hay comentarios:
Publicar un comentario