[JAVA] problema passaggio variabili e metodi

di il
1 risposte

[JAVA] problema passaggio variabili e metodi

Buongiorno, allora io ho più classi, la principale, chiamata blackjack e le altre che contengono gli actionlistener dei bottoni.

questo è la mia classe principale:

public class BlackJack extends JFrame{
 int cash;
 int currentBet
; String name;
 ArrayList<Card> deck;
 Card[] usersCards;
 Card[] dealersCards ;
 private JButton buttonHit, buttonStay, buttonDeal, buttonCashOut;
 private JPanel userPane, dealerPane, userCardPane;
 JLabel labelMoney; private JLabel labelBet;
 BufferedImage img;
 final int cardWidth;
 final int cardHeight;
 boolean gameOn;
 char[] ans;

.
.
.
public void gameInit() {
 .
 .
 .

e nelle classi, nello stesso package, devo prendere sia gameOn sia richiamare gameInit(), cosi:

public class Dealer implements ActionListener { 
public void actionPerformed(ActionEvent ae) { 
gameOn=true; gameInit();
 }
 }
ovviamente non funziona perchè non mi trova nel il metodo ne la variabile, come posso fare ad usare cio in tutte e due le classi??

ciao e grazie in anticipo!!

1 Risposte

  • Re: [JAVA] problema passaggio variabili e metodi

    E' normale che non trova i metodi, in quanto da quello che ho capito sono dichiarati in altre classi, per richiamare i metodi delle classi secondarie devi mettere come parametro del costruttore della classe principale delle variabili di quel tipo di classi, ad esempio:
    
    public class ClassePrincipale
    {
    public ClassePrincipale(ClasseSecondaria1 c1, ClasseSecondaria2 c2)
    {
    c1.metodo()
    }
    
    public static void main(String[] args) {
            ClasseSecondaria1 c1 = new ClasseSecondaria1();
    ClasseSecondaria2 c2 = new ClasseSecondaria2();
    new ClassePrincipale(c1, c2);
        }
    }
    
    public class ClasseSecondaria1
    {
    public ClasseSecondaria1()
    {
    }
    public void metodo()
    {
    System.out.println("metodo ClasseSecondaria1");
    }
    }
    
    public class ClasseSecondaria2
    {
    public ClasseSecondaria2()
    {
    }
    }
    
    passandoli come argomento Java li passa per riferimento e quindi puoi chiamare i metodi di quelle classi.
Devi accedere o registrarti per scrivere nel forum
1 risposte