Featured Posts

Demos EdisoncorSx En el siguiente enlace podrán encontrar algunos demos de las librerías EdisoncorSx http://code.google.com/p/edisoncorsx/downloads/list

Readmore

Actualización EdisoncorSx 0.07 Ha sido un largo tiempo desde la ultima vez que escribí por ultima vez, debo confesar que al blog lo he tenido un poco olvidado(por algunas razones laborales), per...

Readmore

EdisoncorSx Hola amigos, hace algún tiempo que no pósteo nada en absoluto y al blog lo he tenido un poco olvidado, pero mas vale tarde que nunca, en está ocasión...

Readmore

Actualización EdisoncorSx 0.06 Hola como están ahora con poco tiempo para dedicarme al blog, pero bueno por ahí he sacado un tiempo y he realizado algunas actualizaciones, esperando que todas...

Readmore

EdisoncorSx integrado con GoogleCode a través de NetBeans... En este tútorial voy a explicar como puedes tener un Netbeans el proyecto EdisoncorSx y poder tener los cambios que se van a realizar, lo que debes tener es instalado...

Readmore

Edisoncor Weblog Rss

JFrame Transparente

Posted on : 18-04-2008 | By : edisoncor | In : java, Netbeans

17


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 para descargar el proyecto

Update

Ahora puedes encontrar este panel y otros componentes en EdisoncorSx que es una recopilación de estos trabajos y que iré  escribiendo de como utilizarla con ejemplos

Y de como aplicar otras caracterisiticas de jFrame transparente

Facebook comentarios:

Comments (17)

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..

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

error a la hora de importar

import com.sun.jna.examples.win32.Shell32;

y todas la demas

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

Men estoy usando el dr java

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

mE MUESTRA EL SIGUIENTE ERROR

Error: Undefined class ‘org’

Error solucionado, muchas gracias por tu ayuda…

El error era que estaba direccionando el paquete mal

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…

[...] un post que se escribio con anterioridad me preguntaban si habia como cambiarle la foma, de la tradicional rectangular a otra forma [...]

Hola Roger Masis de acuerdo a tu pregunta escribi un post donde podrias encontrar lo que buscas

http://localhost/edisoncor/jframe-con-mascara-personalizado/

seria interesante q se publicaras el codigo fuente las librerias q usas

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

Muy buen post, saludos

holas si talves podrian decirme como centrar el title de un jframe se los agradeceria mucho

[...] amigos en un anterior post se hablo como crear un Jframe transparente con la utlizacion de las librerias de JNA(Java Native [...]

[...] algún tiempo escribí un post sobre JFrame transparente, y aca sobre otra forma de realizarlo, ahora vuelvo a escribir uno nuevo pero ahora es mediante la utilización de edisoncorSx, lo [...]

Write a comment

Advertise Here