JFrame Transparente
Hola amigos en un post que escribi hace algun tiempo, explicba como crear un frame y darle un efecto de semitransparencia, pero al momento de postearlo no fui muy explicativo en el asunto pero bueno, aqui estamos para rectificarlo,
- Se tiene que utilizar las librerias de JNA(Java Native Access) esta
librerias permite acceder facilimente a las librerias nativas de
Windows, al iniciar tu aplicacion debes cargar el LookAndfeel de esta
librerias, estas librerias las incluyo en la carpeta lib del proyecto - Segundo se tienen que utilizar el look and feel
System.setProperty(”sun.java2d.noddraw”, “true”);
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- Se invoca WindowUtils.setWindowAlpha(frame, .7f); donde .7f indica el nivel de transparencia que va desde 0 a 1
aqui esta la clase de ejemplo y su resultado

import java.awt.Dimension;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
/**
*
* @author Edisoncor
*/
public class Ejemplo {private static class Forma extends JPanel{
public Forma() {
setPreferredSize(new Dimension(300,300));
setSize(new Dimension(300,300));}
}
public static void main(String agr[]){
try {
System.setProperty(”sun.java2d.noddraw”, “true”);
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch (ClassNotFoundException ex) {
Logger.getLogger(Ejemplo.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(Ejemplo.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Ejemplo.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(Ejemplo.class.getName()).log(Level.SEVERE, null, ex);
}
JFrame frame = new JFrame(”prueba”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new Forma());
frame.pack();
frame.setLocation(100, 100);WindowUtils.setWindowAlpha(frame, .7f);
frame.setVisible(true);
}
proximamente estaremos posteando mas ejemplos sobre este tema
[download#2#image]









![[BlogBookmark]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/blogbookmark.png)
![[Bloglines]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/bloglines.png)
![[del.icio.us]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/digg.png)
![[diigo]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/diigo.png)
![[Facebook]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/facebook.png)
![[Furl]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/furl.png)
![[Google]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/google.png)
![[Kaboodle]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/kaboodle.png)
![[linkaGoGo]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/linkagogo.png)
![[MySpace]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/myspace.png)
![[MyWeb]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/myweb.png)
![[Rojo]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/rojo.png)
![[Spurl]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/spurl.png)
![[Technorati]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/technorati.png)
![[ThisNext]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/thisnext.png)
![[Twitter]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/twitter.png)
![[Windows Live]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/windowslive.png)
![[Yahoo!]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/yahoo.png)
![[Email]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/email.png)
21. Abril 2008 at 15:35 :
Men tengo un error en:
WindowUtils.setWindowAlpha(frame, .7f);
1 error found:
File: C:\Documents and Settings\U.C.R\Escritorio\Ejemplo.java [line: 57]
Error: cannot find symbol
symbol : variable WindowUtils
location: class Ejemplo
Que es?
me podrias explicar donde bajar ese lo que me falta..
21. Abril 2008 at 15:41 :
Hola Roger Masis uno de los posibles errores puede ser que no encuentre las librerias de JNA, las cuales las puedes encontrar en la carpeta lib del proyecto, las cuales las tienes que aagregar a tu proyecto, prueba eso, y me avisas si funciona o no, para poder ver que mas puede ser
21. Abril 2008 at 15:56 :
error a la hora de importar
import com.sun.jna.examples.win32.Shell32;
y todas la demas
21. Abril 2008 at 16:13 :
Que tal el error que te presenta es que todavia las librerias JNA no estan agregadas al proyecto, en el caso de que utilizas Netbeans lo que tienes que hacer es:
Dar clic derecho sobre el proyecto
Clic en Properties
Una vez que estas en el cuadro de dialogo Project Properties, te diriges a libraries
Ahi vas a observar que estan “Broken references: example.zip” y “Broken reference: JNA.zip”
las cuales las tienes que remover
Luego das clic en “Add Jar/Folder” y seleccionas los archivos zip que estan en la capeta lib del proyecto
21. Abril 2008 at 16:24 :
Men estoy usando el dr java
21. Abril 2008 at 16:53 :
Dr Java es una buena opción ya que es una herramienta muy liviana, prueba creando un nuevo proyecto donde añadas la clase ejemplo y añade en el classpeth los archivos zip, si no me equivoco en el menu projects seleccionas “Projects properties” y la seccion extra classpath añades los archivos o una buena opcion es que pruebes netbeans ya que este IDE te presenta muchas facilidades al momento en desarrollar en Java
22. Abril 2008 at 11:05 :
mE MUESTRA EL SIGUIENTE ERROR
Error: Undefined class ‘org’
22. Abril 2008 at 11:09 :
Error solucionado, muchas gracias por tu ayuda…
El error era que estaba direccionando el paquete mal
22. Abril 2008 at 12:34 :
Men como puedo crear una ventana que no sea la misma de siempre un rectangulo, sino que sea de diferente forma, algo asi como los skins de los reproductores..
…
He buscado pero todo es lo mismo con una imagen de fondo para que parante serlo, pero eso o es lo que quiero..
Ejemplo…
Con una ventna trasparente puedo ver lo de atras pero no lo puedo tocar…
Ha eso es lo que me refiero…
espero a verme explicado…
Espero tu ayuda…
me puedes escribir a mi correo supongo que lo debes de tener por hay por q me lo piden…
Bueno ok y muchas gracias…
22. Abril 2008 at 15:47 :
[...] un post que se escribio con anterioridad me preguntaban si habia como cambiarle la foma, de la tradicional rectangular a otra forma [...]
22. Abril 2008 at 15:55 :
Hola Roger Masis de acuerdo a tu pregunta escribi un post donde podrias encontrar lo que buscas
http://localhost/edisoncor/jframe-con-mascara-personalizado/
29. Abril 2008 at 0:49 :
seria interesante q se publicaras el codigo fuente las librerias q usas
29. Abril 2008 at 10:33 :
Hola Angel el codigo fuente de las librerias lo puedes encontrar en la pagina del proyecto JNA el link es https://jna.dev.java.net/ aqui se puede ir revisando todos los avances que tiene este proyecto
16. Mayo 2008 at 13:02 :
Muy buen post, saludos
29. Mayo 2008 at 16:07 :
holas si talves podrian decirme como centrar el title de un jframe se los agradeceria mucho
30. Mayo 2008 at 10:16 :
[...] amigos en un anterior post se hablo como crear un Jframe transparente con la utlizacion de las librerias de JNA(Java Native [...]