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.
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.
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…
[quote=javaJoni] :-oAmigo, quer um conselho?
Esquece o Eclipse!!! :!: :!:
Parte para o NetBeans.
Aqui p/ mim tb funcionou direitinho, sem erro.
NetBeans é o melhor.
[/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:
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.