Comment puis-je accéder aux variables de la classe principale à partir d'une autre classe (java)?

Je suis en train de faire un cookie clicker clone en java pour la pratique mes compétences java et j'ai un petit problème, j'ai des variables qui sont déclarées dans la principale méthode que je veux accéder à partir d'un ActionListener classe. Voici un exemple de code à partir de l'ActionListener classe. l'int variables (ex. clics, grandamaCost) et le JTextFields (ex. affichage, cpsDisplay) sont tous dans la méthode main. Je me demandais comment je pouvais avoir accès à des variables dans la méthode main de sorte que ce code pourrait fonctionner dans l'autre classe. Merci!

@Override
public void actionPerformed(ActionEvent e) {
JButton b = (JButton) e.getSource();
button(b.getText());
}
public void button(String input) {
switch (input) {
case "Cookie":
clicks++;
display.setText("Cookies: " + clicks + "");
cpsDisplay.setText("CPS: " + cps);
break;
case "Buy grandma":
if (clicks >= grandmaCost) {
grandmas++;
clicks = clicks - grandmaCost;
grandmaCost = (int) ((.15 * grandmaCost) + grandmaCost);
cps++;
}
display.setText("Cookies: " + clicks + "");
prices[0].setText("$" + grandmaCost);
cpsDisplay.setText("CPS: " + cps);
break;
case "Buy monkey":
if (clicks >= monkeyCost) {
monkeys++;
clicks = clicks - monkeyCost;
monkeyCost = (int) ((.15 * monkeyCost) + monkeyCost);
cps = cps + 2;
}
display.setText("Cookies: " + clicks + "");
prices[1].setText("$" + monkeyCost);
cpsDisplay.setText("CPS: " + cps);
break;
case "Buy Teemo":
if (clicks >= teemoCost) {
teemos++;
clicks = clicks - teemoCost;
teemoCost = (int) ((.15 * teemoCost) + teemoCost);
cps = cps + 3;
}
display.setText("Cookies: " + clicks + "");
prices[2].setText("$" + teemoCost);
cpsDisplay.setText("CPS: " + cps);
break;
}
}

}

OriginalL'auteur Chip Goon Lewin | 2013-10-17