SlotMachine.java:76: cannot find symbol
symbol : variable slot
location: class MyFrame.pullHandler
КодНевозможно найти символ в Java. [Ошибка компилятора]
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
class SlotMachine
{
public static void main(String [] args)
{
MyFrame f = new MyFrame();
}
}
class MyFrame extends JFrame
{
JTextField r1 = new JTextField("---",10);
JTextField r2 = new JTextField("---",10);
JTextField r3 = new JTextField("---",10);
JButton pull = new JButton("Pull");
JLabel result = new JLabel("Not Played Yet");
public MyFrame()
{
JTextField [] slot = new JTextField[3];
slot[0] = new JTextField("---",10);
slot[1] = new JTextField("---",10);
slot[2] = new JTextField("---",10);
JPanel panel = new JPanel();
setVisible(true);
setSize(400, 400); //replace with pack();?
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Slot Machine - By: ");
add(panel);
panel.add(slot[0]);
panel.add(slot[1]);
panel.add(slot[2]);
panel.add(pull);
panel.add(result);
pull.addActionListener(new pullHandler());
}
class pullHandler implements ActionListener
{
public void actionPerformed(ActionEvent pull)
{
int ban = 0;
int cher = 0;
int mel = 0;
int plays = 0;
for(int count=0; count< 3; count++) //repeats three times, giving three random values
{
Random rand = new Random();
int numRoll = rand.nextInt(3); //0,1,2 values
if (numRoll==0)
{
//Bannana
slot[0].setBackground(Color.yellow); //I want to replace the 1 with the counts, so if it is the second loop, it would set it for the second box.
ban++;
/*slot[count]*/r1.setText("Banana");
}
if (numRoll==1)
{
//cherry
r2.setBackground(Color.red);
cher++;
r2.setText("Cherry");
}
if (numRoll==2)
{
//Melon
r3.setBackground(Color.green);
mel++;
r3.setText("Melon");
}
}
plays++;
result.setText("Played " + plays); //why don't I keep getting new values when I click "Pull"?
}
}
}
Я пытаюсь использовать слот [] массив вместо R1/R2/r3 в моем классе pullhandler. Я пробовал читать старые сообщения, но не мог найти ничего похожего на мою проблему.
Go читать на области видимости переменных. –
Переменная 'slot' является локальной для конструктора' MyFrame' и не известна 'pullHandler'. –