| | |
Basketball timer help needed
![]() |
I am having trouble getting my timer class working with my scoreboard frame and application. Any constructive help is appreciated.
Java Syntax (Toggle Plain Text)
public class ScoreboardTimer extends Thread { private int counter; // the number of seconds remaining on the timer private boolean isRunning; // toggle variable that controls whether the counter is decremented or not private JTextField timerDisplay; // reference to the GUI object displaying the timer // getters and setters for the variables public boolean toggleRunning() { // toggles the value of isRunning variable; called from click handler on/off button on frame } public void run() { while (counter > 0) { // delay one second with sleep() method // if clock is running, decrement counter and update display } } }
Java Syntax (Toggle Plain Text)
import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.GridBagLayout; import java.awt.BorderLayout; import javax.swing.JPanel; import java.awt.Color; import javax.swing.JTextField; import java.awt.GridBagConstraints; import java.awt.Insets; import java.awt.Font; import javax.swing.JLabel; import javax.swing.JButton; import javax.swing.*; import java.text.*; public class ScoreboardFrame extends JFrame { JMenuItem menuFileExit = new JMenuItem(); JMenu menuFile = new JMenu(); JMenuBar menuBar1 = new JMenuBar(); BorderLayout borderLayout1 = new BorderLayout(); JPanel panelScoreboard = new JPanel(); GridBagLayout gridBagLayout1 = new GridBagLayout(); JTextField txtHomeScore = new JTextField(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JTextField txtGuests = new JTextField(); JTextField txtTime = new JTextField(); JPanel panelButtons = new JPanel(); JButton btnTimeControl = new JButton(); JButton btnHomeAdd = new JButton(); JButton btnHomeSub = new JButton(); JButton btnGuestsAdd = new JButton(); JButton btnGuestsSub = new JButton(); DecimalFormat df = new DecimalFormat("00"); int homeScore = 0; int guestsScore = 0; public ScoreboardFrame() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.setJMenuBar(menuBar1); this.getContentPane().setLayout(borderLayout1); this.setSize(new Dimension(534, 300)); this.setTitle("Basketball Scoreboard"); menuFile.setText("File"); panelScoreboard.setBackground(new Color(227, 82, 227)); panelScoreboard.setLayout(gridBagLayout1); txtHomeScore.setText("00"); txtHomeScore.setPreferredSize(new Dimension(100, 75)); txtHomeScore.setFont(new Font("SansSerif", 1, 60)); txtHomeScore.setForeground(Color.red); txtHomeScore.setEditable(false); jLabel1.setText("Home"); jLabel1.setFont(new Font("Dialog", 1, 20)); jLabel1.setForeground(Color.white); jLabel2.setText("Guests"); jLabel2.setForeground(Color.white); jLabel2.setFont(new Font("Dialog", 1, 20)); txtGuests.setText("00"); txtGuests.setCaretColor(Color.red); txtGuests.setForeground(Color.red); txtGuests.setEditable(false); txtGuests.setPreferredSize(new Dimension(100, 75)); txtGuests.setFont(new Font("SansSerif", 1, 60)); txtTime.setText("10:00"); txtTime.setFont(new Font("SansSerif", 1, 60)); txtTime.setForeground(Color.red); txtTime.setEditable(false); btnTimeControl.setText("Start/Stop"); btnTimeControl.setForeground(Color.red); btnTimeControl.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btnTimeControl_actionPerformed(e); } }); btnHomeAdd.setText("Home +"); btnHomeAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btnHomeAdd_actionPerformed(e); } }); btnHomeSub.setText("Home -"); btnHomeSub.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btnHomeSub_actionPerformed(e); } }); btnGuestsAdd.setText("Guests +"); btnGuestsAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btnGuestsAdd_actionPerformed(e); } }); btnGuestsSub.setText("Guests -"); btnGuestsSub.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btnGuestsSub_actionPerformed(e); } }); menuFileExit.setText("Exit"); menuFileExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { fileExit_ActionPerformed(ae); } }); menuFile.add(menuFileExit); menuBar1.add(menuFile); panelScoreboard.add(txtHomeScore, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(4, 4, 4, 4), 1, 1)); panelScoreboard.add(jLabel1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(4, 4, 4, 4), 1, 1)); panelScoreboard.add(jLabel2, new GridBagConstraints(4, 0, 1, 1, 1.0, 1.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(4, 4, 4, 4), 1, 1)); panelScoreboard.add(txtGuests, new GridBagConstraints(4, 1, 1, 1, 1.0, 1.0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(4, 4, 4, 4), 1, 1)); panelScoreboard.add(txtTime, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); this.getContentPane().add(panelScoreboard, BorderLayout.CENTER); panelButtons.add(btnHomeAdd, null); panelButtons.add(btnHomeSub, null); panelButtons.add(btnTimeControl, null); panelButtons.add(btnGuestsAdd, null); panelButtons.add(btnGuestsSub, null); this.getContentPane().add(panelButtons, BorderLayout.SOUTH); } void fileExit_ActionPerformed(ActionEvent e) { System.exit(0); } void btnTimeControl_actionPerformed(ActionEvent e) { } void btnHomeAdd_actionPerformed(ActionEvent e) { homeScore++; txtHomeScore.setText(df.format(homeScore)); } void btnHomeSub_actionPerformed(ActionEvent e) { homeScore--; txtHomeScore.setText(df.format(homeScore)); } void btnGuestsAdd_actionPerformed(ActionEvent e) { guestsScore++; txtGuests.setText(df.format(guestsScore)); } void btnGuestsSub_actionPerformed(ActionEvent e) { guestsScore--; txtGuests.setText(df.format(guestsScore)); } }
Java Syntax (Toggle Plain Text)
import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.UIManager; import java.awt.Dimension; import java.awt.Toolkit; public class ScoreboardApp { public ScoreboardApp() { Frame frame = new ScoreboardFrame(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.setVisible(true); } public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); } new ScoreboardApp(); } }
hope this will get you going
for mor info on schedule Timer go to Sun Java
What you have to do is just sort displaying zeros befor time smaller then 10 in minutes or seconds
Java Syntax (Toggle Plain Text)
import java.util.Timer; import java.util.TimerTask; /** * Work of peter_budo :o) * Simple demo that uses java.util.Timer to schedule * the specified task for repeated fixed-delay execution, * beginning after the specified delay */ public class CountDown { Timer timer; int runTime = 0; int setTime = 600; // time set up for 10min public CountDown(int seconds) { timer = new Timer(); timer.schedule(new CountDownTask(), seconds*1000, 1000); } class CountDownTask extends TimerTask { public void run() { int convert; runTime++; if( runTime < setTime) { convert = setTime - runTime; System.out.println( (int) convert/60 + ":" + convert%60); } else { timer.cancel(); //Terminate the timer thread } } } public static void main(String args[]) { new CountDown(1); System.out.print("Task scheduled.\n10:00\n"); } }
for mor info on schedule Timer go to Sun Java
What you have to do is just sort displaying zeros befor time smaller then 10 in minutes or seconds
Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
•
•
•
•
Originally Posted by korbynlehr
I may be missing something but this does not get my timer in the application to work. Can you please expand upon your answer for the ignorance I am obviously showing?
Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
![]() |
Similar Threads
- Timer problems! (Visual Basic 4 / 5 / 6)
- PictureBox + Timer = headache :| (need help) (VB.NET)
- Identifying Drivers needed (Windows 95 / 98 / Me)
- Timer help needed. (Visual Basic 4 / 5 / 6)
Other Threads in the Java Forum
- Previous Thread: Data Models and Pattern Matching
- Next Thread: What's a Java sheet?
| Thread Tools | Search this Thread |
account android api applet application array arrays automation bidirectional binary birt bluetooth class classes client code columns component constructor database designadrawingapplicationusingjavajslider draw eclipse error errors exception expand fractal game givemetehcodez graphics gui guidancer homework html ide image inetaddress inheritance integer intellij j2me java javamicroeditionuseofmotionsensor javaprojects jlabel jme jni jpanel jtextfield jtree julia linux list loop map method methods midlethttpconnection mobile mobiledevelopmentcreatejar monitoring myaggfun netbeans newbie nullpointerexception open-source oracle plazmic print problem program project property recursion ria scanner search server set sharepoint smart sms smsspam sort sourcelabs splash sql sqlite static string subclass support swing testautomation threads tree unlimited webservices windows






