I am new to java. Now I am facing a problem. My goal is to put time in a text box. I need to press the start button, after which time will begin. But after I compile this code. He got an error. I am not going to do this. Can anybody help me? Thanks everyone!
Mistakes
I:\PlayScene.java:108: cannot find symbol symbol: variable buttonPlay buttonPlay.setText(Play); ^ I:\PlayScene.java:111: cannot find symbol symbol: variable buttonPlay buttonPlay.setText(Pause); ^ I:\PlayScene.java:103: cannot find symbol symbol : variable buttonPlay location: class PlayScene buttonPlay.addActionListener(new ActionListener() { ^ 3 errors
the code
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Timer.*; import java.util.*; import javax.swing.Timer; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.concurrent.TimeUnit; public class PlayScene extends JFrame implements ActionListener{ //declaration for time private static final String Play = "Play"; private static final String Pause = "Pause"; private Timer timer = new javax.swing.Timer(100, this); private long initTime = System.currentTimeMillis(); private long startTime; private long pauseTime; private boolean isRunning; public void start() { if (isRunning == false) { startTime = System.currentTimeMillis(); } else { startTime = System.currentTimeMillis() - (pauseTime - startTime); } isRunning = true; timer.start(); } public void pause() { pauseTime = System.currentTimeMillis(); timer.stop(); } private String getCurrentTime(long time) { return myFormat(time); } private String myFormat(final long time) { final long hr = TimeUnit.MILLISECONDS.toHours(time); final long min = TimeUnit.MILLISECONDS.toMinutes(time - TimeUnit.HOURS.toMillis(hr)); final long sec = TimeUnit.MILLISECONDS.toSeconds(time - TimeUnit.HOURS.toMillis(hr) - TimeUnit.MINUTES.toMillis(min)); final long ms = TimeUnit.MILLISECONDS.toMillis(time - TimeUnit.HOURS.toMillis(hr) - TimeUnit.MINUTES.toMillis(min) - TimeUnit.SECONDS.toMillis(sec)); return String.format("%02d:%02d:%02d.%01d", hr, min, sec, ms/100); } public PlayScene(){ super("Memory Game"); setBounds(300,40,800,600); final JButton buttonPlay = new JButton(Play); //create label JLabel labelTimer = new JLabel("Timer"); JTextField text2 = new JTextField(15); text2.setEnabled(false); text2.setText(getCurrentTime(System.currentTimeMillis() - initTime)); //Labels for upper JLabel up = new JLabel(); //JLabel space = new JLabel("\n"); //Label for left JLabel left = new JLabel(); JLabel space1 = new JLabel(" "); //Label for right JLabel right = new JLabel(); JLabel space2 = new JLabel(" "); //create up panel final JPanel upPanel = new JPanel(new FlowLayout()); upPanel.add(labelTimer); upPanel.add(text2); JPanel bottomPanel = new JPanel(new FlowLayout()); bottomPanel.add(buttonPlay); JPanel leftPanel = new JPanel(new FlowLayout()); leftPanel.add(space1); JPanel rightPanel = new JPanel(new FlowLayout()); rightPanel.add(space2); add(upPanel,BorderLayout.NORTH); add(bottomPanel,BorderLayout.SOUTH); add(leftPanel, BorderLayout.WEST); add(rightPanel,BorderLayout.EAST); setVisible(true); } public void actionPerformed(ActionEvent e) { buttonPlay.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (Pause.equals(cmd)) { pause(); buttonPlay.setText(Play); } else { buttonPlay.setText(Pause); start(); } } }); } public static void main(String[] args) { JFrame frame = new PlayScene(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
source share