Dúvida com Tratador

1 resposta
ZombieW

Olá a todos,

Resolvi voltar a mexer num antigo programa meu e estou um problema em dos tratadores, vamos lá:

Este é meu "PainelCentral"

package bancoimobiliario;

import javax.swing.JPanel;
import java.awt.GridLayout;
import java.awt.Color;
import javax.swing.JButton;

public class PainelCentral extends JPanel{
    public static JButton [][] botaoMatriz;
    private static int NumPlayer;

    private TratadorSorteReves tSorteReves;
    private TratadorIrCadeia tIrCadeia;
    private TratadorCopacabana tCopacabana;
    private TratadorCiaAviacao tCiaAviacao;
    private TratadorVieiraSouto tVieiraSouto;
    private TratadorAtlantica tAtlantica;
    private TratadorCiaTaxiAereo tCiaTaxiAereo;
    private TratadorIpanema tIpanema;
    private TratadorJardimPaulista tJardimPaulista;
    private TratadorBrooklin tBrooklin;
    private TratadorPontoPartida tPontoPartida;
    private TratadorJardimEuropa tJardimEuropa;
    private TratadorLeblon tLeblon;    
    private TratadorPaulista tPaulista;
    private TratadorPresidenteVargas tPresidenteVargas;
    private TratadorBrasil tBrasil;
    private TratadorNSCopacabana tNSCopacabana;
    private TratadorCiaNavegacao tCiaNavegacao;
    private TratadorCiaFerroviaria tCiaFerroviaria;
    private TratadorImpostoRenda tImpostoRenda;
    private TratadorBFariaLima tBFariaLima;
    private TratadorBotafogo tBotafogo;
    private TratadorCiaViacao tCiaViacao;
    private TratadorReboucas tReboucas;
    private TratadorFlamengo tFlamengo;
    private Tratador9Julho t9Julho;
    private TratadorParadaLivre tParadaLivre;
    private TratadorMorumbi tMorumbi;
    private TratadorLucrosDividendos tLucrosDividendos;
    private TratadorInterlagos tInterlagos;
    private TratadorCiaTaxi tCiaTaxi;
    private TratadorPacaembu tPacaembu;
    private TratadorAugusta tAugusta;
    private TratadorEuropa tEuropa;
    private TratadorVisitanteCadeia tVisitanteCadeia;
    private TratadorDados tDados;
    private TratadorPropriedades tPropriedades;

    public PainelCentral() {
        setLayout(new GridLayout(11,11));
        botaoMatriz = new JButton [11][11];
        String textoIC = ("<html><center>Ir para a<br>Cadeia</center></html>");
    
        for(int i=0;i<=10;i++){
            for(int j=0;j<=10;j++){
                botaoMatriz[i][j] = new JButton("");
                botaoMatriz[i][j].setSize(20, 20);
                botaoMatriz[i][j].setToolTipText("");
                /* Desabilita o meio */
                if(i > 0 && i < 10){
                    if(j > 0 && j < 10){
                        botaoMatriz[i][j].setVisible(false);
                    }
                }
                /* Habilita a Pilha de Cartas de Prop */
                if(i == 8){
                    if(j == 8){
                        botaoMatriz[i][j].setVisible(true);
                        botaoMatriz[i][j].setText("Propriedades");
                        botaoMatriz[i][j].setToolTipText("Pilha das Cartas de 'Propriedades'");
                        botaoMatriz[i][j].setBackground(darkGreen);
                        botaoMatriz[i][j].setForeground(Color.WHITE);
                        botaoMatriz[i][j].addActionListener(tPropriedades);
                    }
                }
                /* 1ª Linha */
                if(i == 0){
                    if(j == 0){
                        botaoMatriz[i][j].setText(textoIC);
                        botaoMatriz[i][j].setToolTipText("VÁ PARA A CADEIA!");
                        botaoMatriz[i][j].setBackground(Color.WHITE);
                        botaoMatriz[i][j].setForeground(Color.RED);
                        tIrCadeia = new TratadorIrCadeia(botaoMatriz[i][j]);
                        botaoMatriz[i][j].addActionListener(tIrCadeia);
                    }
                }
                
                add(botaoMatriz[i][j]);
            }
        }
    }
}

E esses são os 2 tratadores em questão:

package bancoimobiliario;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JOptionPane;

public class TratadorIrCadeia implements ActionListener{
    private JButton botaoIrCadeia;
    
    TratadorIrCadeia(JButton botaoTIrCadeia) {
        botaoIrCadeia = botaoTIrCadeia;
    }
    
    String textoIrCadeia = ("<html><font color=#000000><center><b>VÁ PARA A PRISÃO!</b></center></color></html>");
    
    public void actionPerformed(ActionEvent ae){
        JOptionPane.showMessageDialog(null,textoIrCadeia,"Atenção!",JOptionPane.INFORMATION_MESSAGE);
    }
}
package bancoimobiliario;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JOptionPane;

public class TratadorPropriedades implements ActionListener{
    private JButton botaoPropriedades;

    TratadorPropriedades(JButton botaoTPropriedades) {
        botaoPropriedades = botaoTPropriedades;
    }

    String textoPropriedades = ("<html><font color=#000000><center><b>PROPRIEDADES DO BANCO:<br><br></b></center></color></html>");

    public void actionPerformed(ActionEvent ae){
        JOptionPane.showMessageDialog(null,textoPropriedades,"Atenção!",JOptionPane.INFORMATION_MESSAGE);
    }
}

No 1º que é o "IrCadeia" funciona, ou seja, eu clico no botão e uma mensagem é exibida.
No 2º que é o "Propriedades" não funciona, ou seja, eu clico no botão e nenhuma mensagem é exibida.

O que há de errado?

1 Resposta

ZombieW

Desculpem,

Olhei 300x o código e só fui ver o erro agora, deve ser o sono.

Eis a resposta:

No “PainelCentral” faltava isso:

tPropriedades = new TratadorPropriedades(botaoMatriz[i][j]);

Que moscada! =/

Criado 24 de maio de 2014
Ultima resposta 24 de mai. de 2014
Respostas 1
Participantes 1