Note that there are some explanatory texts on larger screens.

plurals
  1. POSwing Timer In GUI Application for Dialogue
    primarykey
    data
    text
    <p>Okay guys, back with another question. Why do I get identifier expected in line 64 at around the timer. I put in the Timer identifier and it complains at me. Someone please tell me what's wrong with this code:</p> <pre><code>import java.awt.*; import java.awt.event.*; import javax.swing.*; public class RpsNuke extends JFrame implements ActionListener { private final char moves[] = {'R', 'P', 'S', 'N'}; private JRadioButton rock, paper, scissors, nuke; private JTextField display; public RpsNuke() { super("Rock, Paper, Scissors, Nuke"); rock = new JRadioButton(" Rock ", true); paper = new JRadioButton(" Paper "); scissors = new JRadioButton(" Scissors "); nuke = new JRadioButton(" Nuke "); ButtonGroup rpsButtons = new ButtonGroup(); rpsButtons.add(rock); rpsButtons.add(paper); rpsButtons.add(scissors); rpsButtons.add(nuke); JButton go = new JButton(" Go "); go.addActionListener(this); display = new JTextField(25); display.setEditable(false); display.setBackground(Color.yellow); Container c = getContentPane(); c.setLayout(new FlowLayout()); c.add(rock); c.add(paper); c.add(scissors); c.add(go); c.add(nuke); c.add(display); if (nuke.isSelected()){ display.setText("Don't do it man");} else { display.setText("");} } /** * returns -1 if the player wins, * 0 if it's a tie, and 1 if the computer wins */ private int nextPlay(char computerMove, char playerMove) { if ((computerMove == 'R'&amp;&amp;playerMove == 'S')||(computerMove == 'S'&amp;&amp;playerMove=='P')||(computerMove=='P'&amp;&amp;playerMove=='R')){ return 1;} else if ((computerMove == 'R'&amp;&amp;playerMove == 'R')||(computerMove=='S'&amp;&amp;playerMove=='S')||(computerMove=='P'&amp;&amp;playerMove=='P')){ return 0;} else if (playerMove == 'N'){ return 2;} return -1; } timer = new Timer(1000, new ActionListener() { public void actionPerformed(ActionEvent evt) { timer:stop(); char playerMove, computerMove; playerMove = 0; if (rock.isSelected()){ playerMove = 'R';} else if (paper.isSelected()){ playerMove = 'P';} else if (scissors.isSelected()){ playerMove = 'S';} else if (nuke.isSelected()){ playerMove = 'N';} int k = (int)(Math.random() * 3); computerMove = moves[k]; int result = nextPlay(computerMove, playerMove); String msg = ""; if (result != 2) {msg = " You said " + makeWord(playerMove) + ", I said " + makeWord(computerMove); if (result &lt; 0){ msg += " -- you win.";} else if (result == 0){ msg += " -- tie.";} else if (result &gt; 0){ msg += " -- I win.";} } else if (result == 2) { timer:start(); msg = "It's too late, we're all dead!"; msg = "..."; msg = "Look at what you did, there's nothing left."; msg = "Looks like we have to start over again..."; timer.stop(); main(null); } display.setText(msg); } }); private String makeWord(char move) { String word = ""; switch (move) { case 'R': word = "rock"; break; case 'P': word = "paper"; break; case 'S': word = "scissors"; break; case 'N': word = "nuke"; break; } return word; } public static void main(String[] args) { Rps window = new Rps(); window.setBounds(300, 300, 300, 140); window.setDefaultCloseOperation(EXIT_ON_CLOSE); window.setVisible(true); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload