Olá a todos, conforme raciocíno da postagem anterior que se referia a Tela Transparente em Java 2D, apresento de fontes em postagem em blogs relacionados a Java o seguinte codigo de exemplo:
======================================================================
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import javax.swing.JComponent;
public class TransparentBackground extends JComponent {
private Image background;
public TransparentBackground() {
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);
}
}
// ------------Outra Classe
import java.awt.AlphaComposite;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class TranparenciaEx1 extends TransparentBackground {
private AlphaComposite makeComposite(float alpha) {
int type = AlphaComposite.SRC_OVER;
return (AlphaComposite.getInstance(type, alpha));
}
private void drawSquares(Graphics2D g2d, float alpha) {
//Composite originalComposite = g2d.getComposite();
//g2d.setComposite(originalComposite); //Voltar ao composite original
g2d.setComposite(makeComposite(alpha));
ImageIcon Imagem = new javax.swing.ImageIcon( "/fundo_pbase.jpg" );
//ImageIcon Imagem = new javax.swing.ImageIcon( "/bola.png" );
Image Ico = new ImageIcon(Imagem.getImage().getScaledInstance(getWidth(), getHeight(), 1)).getImage();
g2d.drawImage(Ico, 0, 0, this);
//g2d.setPaint(Color.BLACK);
//g2d.fill( this.getBounds() );
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
//drawSquares(g2d, 1 * 0.1F);
//drawSquares(g2d, 2 * 0.1F);
//drawSquares(g2d, 3 * 0.1F);
//drawSquares(g2d, 4 * 0.1F);
//drawSquares(g2d, 5 * 0.1F);
//drawSquares(g2d, 6 * 0.1F);
drawSquares(g2d, 7 * 0.1F);
//drawSquares(g2d, 8 * 0.1F);
//drawSquares(g2d, 9 * 0.1F);
//drawSquares(g2d, 10 * 0.1F);
//g2d.translate(deltaX, 0);
// for (int i = 0; i < 11; i++) {
// drawSquares(g2d, i * 0.1F);
// g2d.translate(deltaX, 0);
// }
}
public static JFrame openInJFrame(Container content) {
JFrame frame = new JFrame("Transparente");
//frame.setUndecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
content.setLayout(null);
frame.getContentPane().add( content );
frame.setVisible(true);
return (frame);
}
public static void main(String[] args) {
openInJFrame(new TranparenciaEx1());
}
}
======================================================================
Outras refeências: http://www.guj.com.br/java/116365-tela-transparente
======================================================================
Espero que haja um comentário, um abraço e até logo a todos(as).
11/02/2011
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário
Todos os comentários serão moderados e postados um tempo depois, comentários ofencivos serão deletados.