Java - como hacer un frame transparente?

 
Vista:

como hacer un frame transparente?

Publicado por james (1 intervención) el 20/11/2007 02:17:16
hello, kisiera saber como poder hacer que un frame sea transparente. En mi frame e puesto una imagen, en la cual tiene secciones transparentes, pero no kiero k se vea el frame, pero si la imagen. COMO PUEDO HACER?????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como hacer un frame transparente?

Publicado por José Luis Cetina Avila (113 intervenciones) el 21/11/2007 18:20:41
Hola que tal, lo que te pudiera recomendar seria quitar el borde del JFrame y asi pareciera que solamente es una imagen la que se muestra, asi como un screen cuando se carga corel o Word, pero realmente es un JFrame sin bordes.

Solamente tienes que llamar al metodo setUndecorated y pasarle como parametro false para que no muestre el borde.

frame.setUndecorated(true);

Espero haber solucionado tu problema.

Salu2
By MaXtOrZiTo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como hacer un frame transparente?

Publicado por Freddy De la Rosa (1 intervención) el 22/02/2008 18:45:19
El código siguiente te permite capturar el escritorio y ponerlo como fondo en un JFrame... Esto produce la impresión de transparencia.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ComponentListener;
import java.awt.event.ComponentEvent;

public class TransparentBackground extends JComponent {
private JFrame frame;
private Image background;

public TransparentBackground(JFrame frame) {
this.frame = frame;
updateBackground( );
}

public void updateBackground( ) {
try {
Robot rbt = new Robot( );
Toolkit tk = Toolkit.getDefaultToolkit( );
Dimension dim = tk.getScreenSize( );
background = rbt.createScreenCapture(
new Rectangle(0,0,(int)dim.getWidth( ),
(int)dim.getHeight( )));
} catch (Exception ex) {
ex.printStackTrace( );
}
}
public void paintComponent(Graphics g) {
Point pos = this.getLocationOnScreen( );
Point offset = new Point(-pos.x,-pos.y);
g.drawImage(background,offset.x,offset.y,null);
}
public static void main(String[] args) {
JFrame frame = new JFrame(”Ventana Transparente”);
TransparentBackground bg = new TransparentBackground(frame);
bg.setLayout(new BorderLayout( ));
JButton button = new JButton(”Esto es un boton”);
bg.add(”North”,button);
JLabel label = new JLabel(”Esta es una etiqueta”);
bg.add(”South”,label);
frame.getContentPane( ).add(”Center”,bg);
frame.pack( );
frame.setSize(450,400);
frame.setVisible(true);
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como hacer un frame transparente?

Publicado por miguel Bedolla (1 intervención) el 11/09/2009 01:06:32
solo importamos la libreria

import com.sun.awt.AWTUtilities;

despues agregamos un jSlider y lo instanciamos

jSlider jSlider1=new jSlider();
despues en el evento jSlider1StateChange del Jslider que creamos colocamos lo siguiente:

private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {
int trans=50;

AWTUtilities.setWindowOpacity(this, jSlider1.setValue(trans));
}

y Listo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como hacer un frame transparente?

Publicado por jonatan mendoza (1 intervención) el 01/12/2009 04:54:41
perdon... quisiera saber si me ayudan con lo siguiente:

tengo ubuntu 9,10... instalé netbeans con synaptic....

pero en la linea

"import com.sun.awt.AWTUtilities;"
me da un error..
verifico y me doy cuenta que "com.sun."
si lo reconoce pero no tiene el subpaquete ".awt"

quisiera saber como consigo ese subpaquete.... si hay que descargar un .jar o algo así....

muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como hacer un frame transparente?

Publicado por Heriberto Alor Tadeo (1 intervención) el 12/10/2010 01:03:57
Java permite hacer ventanas transparentes y con formas especiales
tansolo importa :

import com.sun.awt.AWTUtilities;

luego dentro de tu codigo :


AWTUtilities.setWindowOpacity (this,0.5f);

//el primer valor es la ventana que queremos hacer traslucida en este caso es this y el segundo es un valor float que va de 0.0 hasta 1.0 claro debes tener la ultima actualizacion de java : Java 6 update10 release.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar