lunes, 6 de octubre de 2014

[Java] Actualizar un JPanel en tiempo de ejecución


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.

domingo, 5 de octubre de 2014

[Java] Leer datos de un archivo properties en java


Para leer datos que tienes en un archivo por ejemplo un tipo properties, java tiene una clase especial que permite leer los datos sin necesidad que dependamos de la lectura del archivo ni nada por el estilo, llamada ResourceBundle que facilita este trabajo.


Si vemos en la imagen solo necesitamos un archivo con el nombre del campo igual y el valor que le corresponde, el archivo debe de estar en la carpeta root del proyecto, por lo que la lectura que debemos hacer solo necesitamos el código siguiente.


// importación de la clase que permitira traer datos del archivo
import java.util.ResourceBundle; 

public class TestResourceBundle {
 public static void main(String []a)
 {
  System.out.println("Leyendo datos de archivos");
  // se crea el objeto en base al archivo que se quieren leer lod datos
  ResourceBundle rb = ResourceBundle.getBundle("datos");
  //una vez creada la instancia con rb podemos traer los valores con el comando get
  // utilizamos segun la variable o dato que queremos sacar
  String nombre = rb.getString("nombre");
  System.out.println("El dato leido de nombre es " + nombre );
  String email = rb.getString("email");
  System.out.println("El dato leido de email es " + email );
  String dom = rb.getString("domicilio");
  System.out.println("El dato leido de domicilio es " + email );

 }
}

martes, 8 de julio de 2014

[Windows] Convertir tu computadora en un router inalambrico



Muchas veces tenemos una conexión ya sea cableada o por medio de una banda ancha de 3g y necesitamos compartir internet por ejemplo a los dispositivos móviles por ejemplo en un celular que no tiene datos por lo tanto podemos hacer que nuestra computadora comparta el internet.


Primero ya que tenemos nuestra computadora ya con internet abriremos una terminal con privilegios de administrador. Escribiremos lo siguiente:






netsh wlan set hostednetwork mode=allow ssid=redquecompartira key=1234567890


Ya una vez creada ya vamos a iniciar nuestra red

netsh wlan start hostednetwork







Ya lo único que hacemos es compartir la conexión, para esto nos vamos a nuestro adaptador en recursos de red, damos clic derecho en la conexión con internet y damos en la pestaña compartir en este caso la red que cree es equivalente a la conexión de área local por lo que la marco y damos aceptar







Ya por ultimo si tienen algun firewall que no permita la conexion deshabilitelo o configurelo para que permita.

Listo ya tenemos una conexion de red inalambrica que pueda a utilizarse con cualquier dispositivo