Pages

Subscribe:

Ads 468x60px

Labels

11/02/2011

Continuando o raciocínio da postagem anterior

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

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.