SlotMachine.java:76: cannot find symbol
symbol : variable slot
location: class MyFrame.pullHandler
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類。 我嘗試閱讀舊帖子,但無法找到任何與我的問題非常相似的內容。
下去變量的作用域讀了。 –
變量'slot'對於'MyFrame'構造函數是本地的,對於'pullHandler'來說是不知道的。 –