Edisoncor Weblog

↑ Grab this Headline Animator

JFrame Transparente

Author: edisoncor  |  Category: Netbeans, java

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

Download JFrame Transparente Version 1.0

Downloaded a total of 262 times

Tags: , , ,

16 Responses to “JFrame Transparente”

  1. Roger Masis Dice:

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

  2. edisoncor Dice:

    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

  3. Roger Masis Dice:

    error a la hora de importar

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

    y todas la demas

  4. edisoncor Dice:

    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

  5. Roger Masis Dice:

    Men estoy usando el dr java

  6. edisoncor Dice:

    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

  7. Roger Masis Dice:

    mE MUESTRA EL SIGUIENTE ERROR

    Error: Undefined class ‘org’

  8. Roger Masis Dice:

    Error solucionado, muchas gracias por tu ayuda…

    El error era que estaba direccionando el paquete mal

  9. Roger Masis Dice:

    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…

  10. Edisoncor’s Weblog » Blog Archive » Jframe con mascara personalizada Dice:

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

  11. edisoncor Dice:

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

    http://edisoncor.mycsistemas.com/jframe-con-mascara-personalizado/

  12. Angel Dice:

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

  13. edisoncor Dice:

    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

  14. Le Funes Dice:

    Muy buen post, saludos

  15. paolo Dice:

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

  16. JFrame transparente 2 con java 6 update 10 | Edisoncor’s Weblog Dice:

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

Deja un Comentario


Warning: stristr() [function.stristr]: Empty delimiter. in /home/radiopod/public_html/edisoncor/wp-content/plugins/wassup/wassup.php on line 2093