Mi primera interfaz grafica en java 2 - JPanel y JLabel

Tal y como mostré en la entrada anterior "Mi primera Interfaz gráfica en java 1 - Mi primer JFrame" el JFrame es el componente principal de una GUI Java, pero no podemos hacer nada sin un JPanel es como el marco donde encajaran las "cajas", componentes de Java swing, cada JFrame debe llevar un JPanel raíz al cual podrán ser añadidos componentes o más JPanel. JPanel también tiene muchos métodos pero los que mas utilizaremos serán los siguientes:
  • El primero el constructor: new JPanel(); y new JPanel(LayoutManager lm); de momento utilizaremos el constructor sin parámetros, en la próxima entrada explicare la función de un LayoutManager.
  • add(component c); sera nuestro mejor aliado, con el añadiremos cualquier componente JButton, JTextArea, etc.
  • También podemos modificar el layoutManager con setLayout(LayoutManager lm); aunque como digo más arriba no usaremos layout en esta entrada
Como un JPanel sin componentes no es apreciable en la interfaz gráficaen Java dedicare en esta entrada unas lineas al componente JLabel o etiqueta. Sus métodos mas importantes son:

  • El constructor no debe faltar: new JLabel("texto de la etiqueta");
  • El método setText(String t); nos dejara cambiar el texto de la etiqueta.
sin mas implementaremos el código siguiente:

Mi primera Interfaz grafica en java 1 - Mi primer JFrame

La primera pregunta es ¿que es JFrame?, Un JFrame es un componente gráfico en java quizás el componente mas importante, es como la ventana donde los demás componentes serán incluidos JMenu, JPanel, JButton, etc.

El JFrame se sueles inicializar con el constructor:  new JFrame("Nombre del Frame");

Un Frame tiene muchos y distintos métodos pero los mas importantes son: 
  • setSize(int width, int height); este método modifica el tamaño del frame, lo usaremos para decidir el tamaño de nuestro frame. 
  • setPosition(int n1, int n2); con este método decidiremos la posición inicial del frame.
  • setDefaultCloseOperation(int operation); este método también es muy importante ya que debemos definir que ocurre con el programa si cerramos la ventana. Usaremos siempre JFrame.EXIT_ON_CLOSE contante definida en la clase JFrame, con ella la ventana cerrara el programa.
  • setVisible(Boolean b); es el método mas importante es el que hace que la ventana este visible o no, activa el componente y es necesario que lo inicialicemos a "true" si queremos que nuestro frame sea visible.
Otro método importantísimo es el método add(Component c); este método lo usaremos muy frecuentemente de hecho es la base de las GUI's en java con ello iremos añadiendo componentes a nuestro frame, tenemos que imaginar un frame como una caja a la que añadimos cajitas y a esas cajitas mas cajas, lo iremos viendo mas adelante.

Bueno llegados a este momento pasaremos a implementar el código:

¡Invisibilidad!

Si tal y como dice el titulo de esta entrada, la invisibilidad, tema tratado e innumerables películas de ciencia ficción. Científicos de EE UU usando el método del "ocultamiento plasmónico", lograron ocultar un un cilindro de 18cm, invisible desde cualquier ángulo y posición del observador.

Los expertos explican que cuando la luz golpea un objeto rebota en su superficie hacia otra dirección, como cuando se lanza una pelota de tenis contra una pared. La razón por la que vemos los objetos se debe a que los rayos de luz rebotan en los materiales a nuestros ojos y nuestros ojos son capaces de procesar la información. Debido a sus propiedades únicas, los matamateriales plasmónicos tienen el efecto de dispersión frente a materiales de uso cotidiano.