Frame transparente

Olá pessoal! :thumbup:
Já li em diversos lugares como deixar um frame transparente mas não consigo adapta-lo a minha necessidade.
Também já vi vários aqui no guj.
Dão uma olhada nisso:
http://edisoncor.mycsistemas.com/pt/2008/11/01/jframe-transparente-2-con-java-6-update-10/

Eu presisava fazer algo parecido com isto.
Já baixei esse projeto mas o .jar nem abre, peguei o .java que vem junto e joguei no eclipse e o eclipse acusa erro nesse trecho:

Tenho o java 7. Na dúvida coloquei o java 6u10 e nada, então voltei para o java 7.

Me ajudem por menor que seja a ajuda.

Valeu gente!!! :thumbup: :thumbup: :thumbup:

http://today.java.net/pub/a/today/2008/03/18/translucent-and-shaped-swing-windows.html

[code]import java.awt.;
import java.awt.event.
;
import javax.swing.;
import javax.swing.event.
;

public class Abertura extends JPanel {
private JButton jcomp1;
public Abertura() {
//construct components
jcomp1 = new JButton (“newButton”);

    //adjust size and set layout
    setPreferredSize (new Dimension (624, 541));
    setLayout (null);
    
    com.sun.awt.AWTUtilities.setWindowOpacity(this, 0,5);// AQUI dá erro, estou tentando deixar a tela com 50% transparente
    //add components
    add (jcomp1);
 
    //set component bounds (only needed by Absolute Positioning)
    jcomp1.setBounds (270, 260, 100, 25);
    
}

public static void main (String[] args) {
    JFrame frame = new JFrame ("MyPanel");
    frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add (new Abertura());
    frame.pack();
  
    frame.setVisible (true);
}

}[/code]

O número 1/2 tem de ser escrito em Java como “0.5”, não “0,5”. Cuidado…

Troque este comando. com.sun.awt.AWTUtilities.setWindowOpacity(this, 0,5);
por este. com.sun.awt.AWTUtilities.setWindowOpacity(this,(float) 0.5);
ira funcionar legal.

Hehe…
foi mau, esqueci de substituir “,” por “.”
:oops: :oops: :oops: :oops: :oops:

Tem que importar algo?
Cotinua dando erro naquela linha :x :x :x


Ola companheiro, então deixa eu t pergunta uma coisa essa classe "abertura " ela chama o “frame”?

Se sim então acho q este comando esta no lugar errado acho q ele deveria estar la no frame aki testei ele direto no frame e funciono legal .

Não…É só nome…
Fiz uma telinha rapidinho em um programinha de gerar interface só pra testar se dá certo o lance de deixar transparente.

Acontece que o método funciona quanto se passa um Window como argumento, e não um JPanel. Sua transparência deve ser alterada no método main, passando o objeto frame como parâmetro. Algo como:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;




public class Abertura extends JPanel {
    private JButton jcomp1;
    public Abertura() {
        //construct components
        jcomp1 = new JButton ("newButton");
      
        //adjust size and set layout
        setPreferredSize (new Dimension (624, 541));
        setLayout (null);
        
        //add components
        add (jcomp1);
     
        //set component bounds (only needed by Absolute Positioning)
        jcomp1.setBounds (270, 260, 100, 25);
        
    }

    public static void main (String[] args) {
        JFrame frame = new JFrame ("MyPanel");
        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add (new Abertura());
        frame.pack();
        frame.setVisible (true);
        com.sun.awt.AWTUtilities.setWindowOpacity(frame, 0.5f); 
    }
}

marcobiscaro2112…
vc rodou essa classe e funcionou?
Eu dei um control+chup dessa sua correção e dá erro naquela mesma linha em que te falei…
Por isso estou achando estranho… todos dizem a mesma maneira de resolver, mas comigo isso nunca funciona… :cry: :cry: :cry:

:-oAmigo, quer um conselho?
Esquece o Eclipse!!! :!: :!:
Parte para o NetBeans.
Aqui p/ mim tb funcionou direitinho, sem erro.
NetBeans é o melhor. :stuck_out_tongue:

[quote=javaJoni] :-oAmigo, quer um conselho?
Esquece o Eclipse!!! :!: :!:
Parte para o NetBeans.
Aqui p/ mim tb funcionou direitinho, sem erro.
NetBeans é o melhor. :stuck_out_tongue:
[/quote]
É muito fácil achar que trocando de IDE seus problemas serão resolvidos… e escolher o Netbeans que gera um código para swing quase que incompreesível? Não é a resposta. Use Eclipse, estou 100% satisfeito e sim, funcionou perfeitamente. Segue a imagem da aplicação e o código:

import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

import com.sun.awt.AWTUtilities;

public class Abertura extends JPanel {

	private static final long serialVersionUID = 1L;
	private JButton jcomp1;

	public Abertura() {
		// construct components
		jcomp1 = new JButton("newButton");

		// adjust size and set layout
		setPreferredSize(new Dimension(624, 541));
		setLayout(null);

		// add components
		add(jcomp1);

		// set component bounds (only needed by Absolute Positioning)
		jcomp1.setBounds(270, 260, 100, 25);

	}

	public static void main(String[] args) {
		JFrame frame = new JFrame("MyPanel");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(new Abertura());
		frame.pack();
		frame.setVisible(true);
		AWTUtilities.setWindowOpacity(frame, 0.5f);
	}
}

Pergunta: gqferreira, você tem o JDK mais atual instalado? Se não me engano, esse recurso só está disponível a partir do Java 1.6. Verifique isso. Quanto a execução, foi perfeito. Veja:


Olhando agora, a imagem não ficou boa… tirou outro print screen:


Concordo…Eclipse = 100%
http://www.guj.com.br/posts/list/114467.java
Sobre o frame transparente eu já não sei mais o que fazer… uso o java 7

.


Olha a “bronca”…


Qual versão do Java você usa??
Qual a última verssão?

A última versão estável e oficial é a 1.6 update 11 (essa que eu uso), mas como você já sabe, essa versão “beta” do JDK 1.7 já pode ser baixada. Veja se a classe AWTUtilities realmente existe em algum dos JARs que vem com o JDK. No meu caso, por exemplo, ela vem em um JAR chamado ‘rt.jar’, como na imagem. Certifique-se que essa classe existe nessa distribuição que está usando, pois é exatamente isso que o Eclipse acusa: que não reconhece a class (nem mesmo o pacote!).


Caros colegas, opinião sobre a melhor IDE é como *… :XD:
Cada um tem um.
Quanto ao “código quase incompreensível do Swing” eu não concordo, pois qualquer um que conheça um pouco de Java consegue ver o que o código está fazendo e os pacotes que está acessando. De qualquer forma se vc usa a parte visual do NetBeans, não precisa se preocupar com a legibilidade do código gerado, pois foi vc mesmo que o escolheu quando arrastou um componente para o container.

NetBeans, a única IDE que você precisa. :smiley:

Desculpem,
Não levem a mal…