title: Adding a timer to my program (javafx)
body: <p>I am trying to add a timer to my program. I've tried calling upon java.util.Timer but it frustrates me as i do not completely understand the concepts behind it. I have just done a semester of coding in python but this is an entirely different level to me.</p>
  
  <pre><code>import javafx.application.Application;
  import javafx.event.ActionEvent;
  import javafx.event.EventHandler;
  import javafx.scene.Scene;
  import javafx.scene.control.Button;
  import javafx.scene.layout.StackPane;
  import javafx.scene.text.Text;
  import javafx.stage.Stage;
  
  import java.awt.event.ActionListener;
  import java.util.Date;
  import java.util.Timer;
  import java.util.TimerTask;
  
  public class main extends Application implements EventHandler&lt;ActionEvent&gt;{
  
      Button button;
      Button button2;
      Counter counter = new Counter(0);
      Counter timecounter = new Counter(0);
      Text text_counter = new Text(counter.S_count.get());
      Text text_timecounter = new Text(timecounter.S_count.get());
  
      Date currdate = new Date();
      int currsec = currdate.getSeconds();
  
  
      public static void main(String[] args) {
          launch(args);
  
  
      }
  
  
      @Override
      public void start(Stage primaryStage) throws Exception {
          primaryStage.setTitle("Counter Window");
  
          button = new Button();
          button2 = new Button();
          button.setText("Reset");
          button.setOnAction(this);
          button2.setText("Tick");
          button2.setOnAction(this);
          button.setTranslateY(-120);
          button2.setTranslateY(-80);
          text_counter.textProperty().bind(counter.S_count);
          text_timecounter.textProperty().bind(timecounter.S_count);
          text_timecounter.setTranslateX(-100);
  
  
  
          StackPane layout = new StackPane();
          layout.getChildren().add(button);
          layout.getChildren().add(button2);
          layout.getChildren().add(text_counter);
          layout.getChildren().add(text_timecounter);
  
          Scene scene = new Scene(layout, 360,280);
          primaryStage.setScene(scene);
  
          primaryStage.show();
      }
  
      @Override
      public void handle(ActionEvent event) {
          if(event.getSource()==button){
              counter.Reset();
          }
          if(event.getSource()==button2){
              counter.Tick();
          }
      }
  }
  </code></pre>
  
  <p>I built a program in python with a main loop. I was thinking of a "dirty" way of doing it by adding a check to the loop that checks if the seconds of the current date has changed and if it has, increment a value by one. </p>
  
  <pre><code>class timerclass {
      Timer timer1;
      private int timecounter = 0;
  
      TimerTask Task1 = new TimerTask() {
          @Override
          public void run() {
              setTimecounter(getTimecounter()+1);
          }
      };
  
      public timerclass(){
          timer1 = new Timer();
  
      }
  
      public int getTimecounter() {
          return timecounter;
      }
  
      public void setTimecounter(int timecounter) {
          this.timecounter = timecounter;
      }
  }
  </code></pre>
  
  <p>This is how far i've come creating a new timer. I understood that I have to create a task and schedule it to the timer but I don't have the slightest clue how...</p>
  
  <p>How would I go about this? Sorry for the inconvieniences.</p>