User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the Java section within the Software Development category of DaniWeb, a massive community of 401,473 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,046 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Java advertiser: Lunarpages Java Web Hosting
Views: 250 | Replies: 0
Reply
Join Date: Apr 2008
Posts: 2
Reputation: hurly is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
hurly hurly is offline Offline
Newbie Poster

Impletmenting timer into scoreboard

  #1  
May 17th, 2008
Ok, I'm stumped and asking for a push. I need help adding an instance variable for my timer in my frame class.
After that I need to :
Instantiate your timer. Pass in the initial time (in seconds) and a reference to your timer display JTextField object. This can be done when you declare the variable in the above step (ScoreboardTimer timer = new ScoreboardTimer(600, txtTimerDisplay).

I am confused.......

What I have so far: Timer


import java.text.DecimalFormat;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JTextField;


public class ScoreBoardTimer extends Thread

{
    private boolean running = false;
    private int counter = 600;
    private JTextField timerDisplay = null;

    public ScoreBoardTimer(int seconds, JTextField timerDisplay)

    {
        this.counter = seconds;
        this.timerDisplay = timerDisplay;
    }

    public int getCounter()
    {
      return counter;
    }

    public void toggle()
    {
      running = !running;
    }

    public void run()
    {
      while (counter > 0)
      {
          DecimalFormat df = new DecimalFormat("00");
          try
          {
            sleep(1000);
          }
          catch (InterruptedException e)
          {

          }
          if (running)
          {
            counter--;
            timerDisplay.setText((counter/60) + ":" + df.format(counter%60));
          }
      }
    }
}


then my frame:


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(99, 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));
  }

}



and finally my program/application:

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();
  }
}


I need to get my timer implemented into my program but I've gotten nada accompished in the past 2 hours. Any guidance is greatly appreciated.

Hurly
AddThis Social Bookmark Button
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

DaniWeb Java Marketplace
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes

Other Threads in the Java Forum

All times are GMT -4. The time now is 1:50 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC