RSS
Facebook
G+

Buscador de IntercambioSOS:


Retroceder   Foro de Ayuda IntercambiosvirtualeS > Soporte Sobre: Educación & Entretenimiento > Zona Académica > Programación
Comunidad

Respuesta
 
Herramientas Desplegado
Antiguo 23-oct-2010     #1
Bueno [JAVA] Hacer Ventanas Transparentes

Hola compañeros de Intercambios!!! En ésta ocasión voy a mostrar cómo hacer una Ventana Transparente en JAVA…


El efecto de translucidez simple se utiliza para hacer una ventana transparente de manera uniforme se aplica a una ventana, en donde todos los píxeles de la ventana se le asigna un valor de alfa que determina el nivel de opacidad disponible. Cuanto menor sea el valor más transparente se hace la ventana, con el nivel de opacidad mínima se hace la ventana totalmente transparente (imposible de ver) y colocando la opacidad en el nivel máximo la ventana ya no sería transparente.

El Proyecto está hecho en Eclipse




Para lograr ese efecto vamos a utilizar un archivo Jar el cual se encuentra dentro del proyecto en la carpeta lib.

Para importar la clase transparentWindows hacemos:

import transparentWindows.AWTUtilitiesWrapper;

Esa clase proporciona Un método llamado setWindowOpacity(Ventana, opacidad);

Donde Ventana -> representa un JFrame o un JDialog

Opacidad -> representa un valor Flotante que va desde 0.0 hasta 1.0 donde 0.0 nivel de opacidad mínimo y 1.0 nivel de opacidad máximo (No Transparente).

¡Para los que no sepan añadir un Jar al proyecto!

En Eclipse:

Nos ubicamos en nuestro proyecto clic derecho -> propiedades, luego buscamos donde dice Java Build Path, entramos en la pestaña Librerías y luego add External Jars…. Buscamos nuestro archivo Jar y listo!!!

En NetBeans:

Ubicamos la carpeta Librerías en nuestro proyecto clic derecho add Jar/Folder, lo buscamos y listo

Código PHP:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import transparentWindows.AWTUtilitiesWrapper;


public class 
Ventana extends JFrame implements ChangeListener{

    private final 
int MIN 0;
    private final 
int MAX 10;
    private final 
int INIT 8
    private 
float trans .8f;
    private 
AWTUtilitiesWrapper utilities null;
    private 
JLabel miLabel nulllabelOpacidad null;
    private 
JSlider slider null;
    private 
GridBagConstraints gbc null;
    private 
JPanel panel null;
    
    public 
Ventana(){
        
gbc = new GridBagConstraints();
        
this.setTitle("Ventana Transparente");
        
        
// creamos un objeto de tipo AWTUtilitiesWrapper
        
utilities = new AWTUtilitiesWrapper();
        
// le asignamos la opacidad por defecto 0.8f
        
utilities.setWindowOpacity(thistrans);    
        
        
panel = new JPanel(new GridBagLayout());
        
        
slider = new JSlider(JSlider.HORIZONTALMINMAXINIT);
        
        
slider.addChangeListener(this);
        
        
slider.setMajorTickSpacing(10);
        
slider.setMinorTickSpacing(1);
        
        
labelOpacidad = new JLabel("Nivel de Opacidad");
        
labelOpacidad.setFont(new Font("Arial"314));
        
        
gbc.gridx 0;
        
gbc.gridy 0;
        
gbc.insets = new Insets(10,10,10,10);
        
panel.add(labelOpacidadgbc);
        
        
miLabel = new JLabel("[By RagdE]");
        
miLabel.setForeground(Color.red);
        
miLabel.setFont(new Font("Arial"120));

        
gbc.gridx 0;
        
gbc.gridy 1;
        
panel.add(slidergbc);

        
gbc.gridx 0;
        
gbc.gridy 2;
        
panel.add(miLabelgbc);
        
this.add(panelBorderLayout.NORTH);
        
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
this.setSize(300180);
        
this.setResizable(false);
        
this.setVisible(true);
    }
    
    
// Manejador del JSlider

    
public void stateChanged(ChangeEvent e) {
        
JSlider source = (JSlider)e.getSource();
        if (!
source.getValueIsAdjusting()) { // preguntamos si se ha movido el nivel
            
int fps = (int)source.getValue(); // se obtiene dicho nivel en entero
            // pero como el nivel de transparencia tiene que ser fotante lo convertimos fps / 10.0
            
trans = (float) ((new Float(fps)) / 10.);
            if(
trans 0.4// si es menor que 0.4 asiganar a trans = 0.4 para que no desaparesca por completo
                
trans 0.4f;
            
utilities.setWindowOpacity(thistrans); // asignamos el nivel de opacidad
        
}
    }

    
    public static 
void main(String[] args) {
        
        new 
Ventana();
    }


Responder Citando
Antiguo 23-oct-2010     #2
Predeterminado

Gracias muy bueno!




intercambiosvirtuales.org
Enviar un mensaje por MSN a wpiaw Responder Citando
Respuesta

Etiquetas
java, translucida, ventana transparente


(0 miembros y 1 visitantes)
 

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Trucos y consejos para Windows 7 Thundera Windows Vista & 7 64 08-dic-2017 17:14
Hacer un programa portable con ThinApp Duck1245 Tutoriales & Videos Tutoriales 13 23-jul-2012 10:13
Bloquear las ventanas emergentes en Internet Explorer. jchierro Windows 4 30-sep-2010 00:16
Mejora el manejo de ventanas de Windows 7 con Preme felcon Windows Vista & 7 7 24-jun-2010 14:36


Desarrollado por: vBulletin® Versión 3.8.1
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.
Ad Management by RedTyger