JFrame transparente

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);

	}
}
1 curtida

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:

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:

resolvi sim Pedro!!

mas vale o conhecimento. :slight_smile:

vlw!! t+

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