Fazer imagem desaparecer - AlphaComposite ? o que ? JAVA2D

0 respostas
R

segue o código.
quero fazer desaparecer uma imagem. esta la perto do alpha composite, dentro do código... é com java2d;

* To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package java2d_testes_etc;

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

import java.awt.event.ActionListener;
import java.awt.print.*;

public class Tabu extends JFrame implements ActionListener {

    ImageIcon Dado1 = new ImageIcon("C:/IMAGENS/dado1.gif");
    ImageIcon Dado2 = new ImageIcon("C:/IMAGENS/dado2.gif");
    ImageIcon Dado3 = new ImageIcon("C:/IMAGENS/dado3.gif");
    ImageIcon Dado4 = new ImageIcon("C:/IMAGENS/dado4.gif");
    ImageIcon Dado5 = new ImageIcon("C:/IMAGENS/dado5.gif");
    ImageIcon Dado6 = new ImageIcon("C:/IMAGENS/dado6.gif");
    ImageIcon Dado0 = new ImageIcon("C:/IMAGENS/dado0.gif");
    public int somaT = 0; //somaTOTAL
    double xDado = 0;
    int i = 0;
    int x = 0;
    Color cor;
    String cor1 = "black";
    int mudaCor = 1;
    Panel P1;
    Painel2 P2;
    JLabel d1;
    JLabel soma;
    String soma2 = "";
    Color NCor = new Color(250, 240, 180);
    JButton B1, B2;
    Painel1 canvas;
    PageFormat pf;
    public int j = 0;
    int soma3=0;

    public Tabu() {
        setTitle("Tabuleiro");
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        // setTitle("Desenhando com Java");
        setSize(dim);
        setResizable(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        //Color NCor = new Color(250,240,180);
        getContentPane().setBackground(NCor);

        canvas = new Painel1();
        canvas.setBounds(20, 5, 1240, 600);
        canvas.setBorder(BorderFactory.createLineBorder(Color.black, 2));


        P2 = new Painel2();
        P2.setBounds(58, 65, 800, 300);
        P2.setBorder(BorderFactory.createLineBorder(Color.red, 2));

        B1 = new JButton("JOGAR");
        B1.setBounds(960, 680, 120, 20);
        B1.setBackground(NCor);
        B1.addActionListener(this);



        d1 = new JLabel("");
        d1.setBounds(860, 680, 120, 40);
        d1.setBackground(NCor);
        d1.setIcon(Dado0);


        Font f2 = new Font("Verdana", Font.BOLD, 12);
        soma = new JLabel("soma");
        soma.setBounds(860, 640, 120, 40);
        soma.setBackground(Color.blue);
        soma.setFont(f2);


        //= new Painel2();
        canvas.setBounds(20, 5, 1240, 600);
        canvas.setBorder(BorderFactory.createLineBorder(Color.black, 2));
        canvas.setOpaque(rootPaneCheckingEnabled);


        getContentPane().setLayout(null);
        getContentPane().add(P2);
        getContentPane().add(canvas);





        getContentPane().add(soma);
        getContentPane().add(d1);
        getContentPane().add(B1);

    }

    public void umDado() {

        xDado = 0;
        //cria o randomico
        xDado = Math.random() * 6;
        xDado = xDado + 1;
        //converte para int
        int b = (int) xDado;
        String b11 = String.valueOf(b);

        d1.setText(b11);

        //calculos    sem dado2
        //jDado2.setText("");
        //jDado2.setIcon(Dado0);

        // carregarSom(0);   
        // tocaSom();

        if (b == 1) {
            d1.setText("");
            d1.setIcon(Dado1);
        }
        if (b == 2) {
            d1.setText("");
            d1.setIcon(Dado2);
        }
        if (b == 3) {
            d1.setText("");
            d1.setIcon(Dado3);
        }
        if (b == 4) {
            d1.setText("");
            d1.setIcon(Dado4);
        }
        if (b == 5) {
            d1.setText("");
            d1.setIcon(Dado5);
        }
        if (b == 6) {
            d1.setText("");
            d1.setIcon(Dado6);
        }
        //faz a soma
        // int valor1 = Integer.parseInt(d1.getText());
        //int soma = valo;
        somaT = somaT + b;
        soma2 = String.valueOf(somaT);
        soma.setText("soma:" + soma2);

soma3=somaT-b;

        //aqui caminha
        j = j + 80;
        P2.repaint();


    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == B1) {
            umDado();




        }





    }//actionPERFORMED
    public static void main(String arg[]) {
        JFrame fx = new Tabu();
        fx.setVisible(true);
    }

    class Painel1 extends JPanel {

        public void paintComponent(Graphics g) {
            Graphics2D g2 = (Graphics2D) g;
            desenhar(g2);
        }

        public void desenhar(Graphics2D g) {


            int i2 = 19; //numero do tabuleiro
            int i1 = 1; //numero do tabuleiro   
            //desenha tabuleiro...   18 primeiras linhas...
            for (i = 40; i < 1200; i = i + 85) {
                g.setColor(Color.black);
                g.drawRect(i - 1, 39, 81, 81);
                //escolhe
                double x2 = 0;
                //cria o randomico
                x2 = Math.random() * 6;
                x2 = x2 + 1;
                //converte para int
                x = (int) x2;

                if (x == 1) {
                    cor = Color.black;
                }
                if (x == 2) {
                    cor = Color.white;
                }
                if (x == 3) {
                    cor = Color.yellow;
                }
                if (x == 4) {
                    cor = Color.blue;
                }
                if (x == 5) {
                    cor = Color.orange;
                }
                if (x == 6) {
                    cor = Color.pink;
                }

                g.setColor(cor);
                g.fillRect(i, 40, 80, 80);
            }

            Font f = new Font("Verdana", Font.BOLD, 24);
            g.setFont(f);
            for (i = 40; i < 1200; i = i + 85) {
                g.setColor(Color.GREEN);
                g.drawString("" + i1, i + 25, 110);
                i1 = i1 + 1;







            }


            //19-36

            //desenha tabuleiro...   18 primeiras linhas...
            for (i = 40; i < 1200; i = i + 85) {
                g.setColor(Color.black);
                g.drawRect(i - 1, 129, 81, 81);



                //escolhe
                double x2 = 0;
                //cria o randomico
                x2 = Math.random() * 6;
                x2 = x2 + 1;
                //converte para int
                x = (int) x2;

                if (x == 1) {
                    cor = Color.black;
                }
                if (x == 2) {
                    cor = Color.white;
                }
                if (x == 3) {
                    cor = Color.yellow;
                }
                if (x == 4) {
                    cor = Color.blue;
                }
                if (x == 5) {
                    cor = Color.orange;
                }
                if (x == 6) {
                    cor = Color.pink;
                }
                g.setColor(cor);
                g.fillRect(i, 130, 80, 80);

            }
            for (i = 40; i < 1200; i = i + 85) {
                g.setColor(Color.GREEN);
                g.drawString("" + i2, i + 25, 200);
                i2 = i2 + 1;
            }












        }        ///////////termina o desenhar
        }//Painel1
    class Painel2 extends JPanel {

        public void paintComponent(Graphics g) {
            
            
            
          
            Color NCor2 = new Color(255, rootPaneCheckingEnabled);
            Graphics2D g2 = (Graphics2D) g;
           
            P2.setBorder(BorderFactory.createLineBorder(Color.red, 2));
             
            g.setColor(NCor2);
            g.fillRect(0, 0, 950, 150);
            g.setColor(Color.BLACK);   
            Composite  c = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.10F);
            g2.setComposite(c);
            g.drawString("somaT = " + soma2, 25 + j, 25);
                   
            //seria para apagar o peão.. melhor fazer sumir...
            g.setColor(Color.red); 
           
            c = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.10F);
            g2.setComposite(c);
            g.drawString("somaT = " + soma3, (25+j) -80, 25);
          
            //desenhar(g2);
            //g.dispose();
        }

        public void desenhar(Graphics2D g) {
            if (somaT == 1 || somaT == 2 || somaT == 3 || somaT == 4 || somaT == 5 || somaT == 6) {
                g.setColor(Color.black);
                g.drawString("aobaob", 500, 580);
                g.drawString("aobaob", 440, 580);

            }

            if (somaT == 7 || somaT == 8 || somaT == 9 || somaT == 10 || somaT == 11 || somaT == 12) {
                g.setColor(Color.red);
                g.drawString("aobaob", 340, 580);
                g.drawString("aobaob", 240, 580);
            }
        }
        }//Painel2
}
Criado 10 de agosto de 2010
Respostas 0
Participantes 1