JFrame transparente

4 respostas
Y

Olá!
Sempre consigo resolver minhas dúvidas apenas pesquisando no forum.
mas essa ta dificil de achar.

há alguma maneira de deixar um JFrame transparente, sem deixar seus componentes(Button,Label,TextField…)transparentes?
estou usando a API com.sun.awt.AWTUtilities.
exemplo:

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import com.sun.awt.AWTUtilities;

public class Transparente extends JFrame {

	public Transparente() {

		JPanel painel = new JPanel();
		painel.setLayout(new FlowLayout());
		JLabel campo = new JLabel("Duvida!!");
		JTextField txtCampo = new JTextField(15);
		painel.add(campo);
		painel.add(txtCampo);
		this.add(painel);

		this.setSize(800, 600);
		this.setResizable(false);
		this.setVisible(true);
		AWTUtilities.setWindowOpacity(this, 0.75f);

	}

	public static void main(String[] args) {

		new Transparente().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}
}

4 Respostas

P

Cara, acredito que você já deve ter resolvido essa parada, devido a data da pergunta, mas… veja esse link aqui! :idea:
Não rodei nem testei o código mas acredito que colocando a criação da imagem de fundo em um método a parte e chamando ele quando o MouseListener/MouseMotionListener do seu JFrame receber um evento, vai obter o resultado desejado.

Abraço. Sucesso! :wink:

P

Só mais um detalhe: para que a imagem não apareça 100% transparente, ou seja, exista uma suavização você pode usar o seguinte:

import java.awt.Color;
   import java.awt.Graphics;
   import java.awt.Graphics2D;
   import java.awt.Rectangle;
   import java.awt.RenderingHints;

      @Override	
       protected void paintComponent(Graphics g) {
         Graphics2D g3 = (Graphics2D) g;
         Rectangle clip = g3.getClipBounds();
         g3.setPaint(new Color(255,255,255,100));
         g3.fillRect(clip.x, clip.y, clip.width, clip.height);
      }
   
   }

Claro, faça isso no JPanel (pode ser no exemplo do link acima)…
Espero ter ajudado mais… abração! :slight_smile:

Y

resolvi sim Pedro!!

mas vale o conhecimento. :slight_smile:

vlw!! t+

G

yhhik, como vc fez p/ os botões não ficarem transparentes?

Criado 5 de agosto de 2011
Ultima resposta 30 de abr. de 2014
Respostas 4
Participantes 3