Bom dia a todos!!
Estou tentando implementar em um projeto a seguinte funçao:
Tenho 3 textField: textFieldTempo1 textFieldTempo2 textFieldTempo3, um jButtonIniciar e um jButtonParar, quando eu clico no jButtonParar ele joga o tempo no textFieldTempo1 eu to tentando fazer com que quando eu clicar no jButtonParar novamente ele jogar o novo tempo no textFieldTempo2 e assim adiante mas ta dando erro.
Segue o codigo:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* Tempo.java
*
* Created on 20/10/2009, 10:49:44
*/
package Interfaces;
import javax.swing.JOptionPane;
import java.util.Timer;
import java.util.TimerTask;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.awt.EventQueue;
/**
*
* @author everton
*/
public class Tempo extends javax.swing.JFrame {
Long tempoInicial;
private Timer timer;
private static final int INICIO = 0;
private static final int DELAY_MILLISEGUNDOS = 1000;
private static final DateFormat FORMATO = new SimpleDateFormat("ss");
private Thread clockThread;
private int time = 0;
/** Creates new form Tempo */
public Tempo() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
private class ClockRunnable implements Runnable {
public void run() {
try {
while (true) {
EventQueue.invokeLater(new Runnable() {
public void run() {
// Só podemos chamar setHora diretamente dessa
// forma, pois esse Runnable é uma InnerClass não
// estática.
textField.setText(""+(time++));
}
});
// Fazemos nossa thread dormir por um segundo, liberando o
// processador para outras threads processarem.
Thread.sleep(1000);
}
}
catch (InterruptedException e) {
}
}
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jButtonIniciar = new javax.swing.JButton();
jButtonParar = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
textField = new java.awt.TextField();
jLabel3 = new javax.swing.JLabel();
textFieldTempoFinal = new java.awt.TextField();
jButtonLimpar = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
textFieldCalculo = new java.awt.TextField();
jLabelTime1 = new javax.swing.JLabel();
textFieldTime1 = new java.awt.TextField();
jLabelTime2 = new javax.swing.JLabel();
textFieldTime2 = new java.awt.TextField();
jLabelTime3 = new javax.swing.JLabel();
textFieldTime3 = new java.awt.TextField();
jButtonIniciarCalcular = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setFont(new java.awt.Font("Monotype Corsiva", 3, 36)); // NOI18N
jLabel1.setText("Tempo");
jButtonIniciar.setText("Iniciar");
jButtonIniciar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
iniciar(evt);
}
});
jButtonParar.setText("Parar");
jButtonParar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
parar(evt);
}
});
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jLabel2.setText("Tempo Corrente");
jLabel3.setFont(new java.awt.Font("Tahoma", 2, 14)); // NOI18N
jLabel3.setText("Tempo FInal");
textFieldTempoFinal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
textFieldTempoFinalActionPerformed(evt);
}
});
jButtonLimpar.setText("Limpar");
jButtonLimpar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
Limpar(evt);
}
});
jLabel4.setFont(new java.awt.Font("Tahoma", 2, 14)); // NOI18N
jLabel4.setText("Calculo Final");
jLabelTime1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jLabelTime1.setText("Time 1");
jLabelTime2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jLabelTime2.setText("Time 2");
jLabelTime3.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
jLabelTime3.setText("Time 3");
jButtonIniciarCalcular.setText("Calcular");
jButtonIniciarCalcular.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
calcular(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(277, Short.MAX_VALUE)
.addComponent(jButtonIniciar)
.addGap(18, 18, 18)
.addComponent(jButtonParar)
.addGap(18, 18, 18)
.addComponent(jButtonIniciarCalcular)
.addGap(18, 18, 18)
.addComponent(jButtonLimpar)
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(46, 46, 46)
.addComponent(jLabelTime1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 342, Short.MAX_VALUE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(100, 100, 100))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(textFieldTime1, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 256, Short.MAX_VALUE)
.addComponent(textFieldTempoFinal, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(46, 46, 46))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(textFieldTime2, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 288, Short.MAX_VALUE)
.addComponent(textFieldCalculo, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(68, 68, 68))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(textFieldTime3, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 299, Short.MAX_VALUE)
.addComponent(textField, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(84, 84, 84))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGap(44, 44, 44)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
.addComponent(jLabelTime2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 346, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabelTime3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 358, Short.MAX_VALUE)
.addComponent(jLabel2)))
.addGap(98, 98, 98))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(229, 229, 229)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(271, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(83, 83, 83)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelTime1)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textFieldTime1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(textFieldTempoFinal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel4))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(88, 88, 88)
.addComponent(jLabelTime2)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(textFieldTime2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(textFieldCalculo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 53, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonLimpar)
.addComponent(jButtonIniciarCalcular)
.addComponent(jButtonParar)
.addComponent(jButtonIniciar)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabelTime3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(textFieldTime3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void iniciar(java.awt.event.ActionEvent evt) {
clockThread = new Thread(new ClockRunnable());
clockThread.setDaemon(true);
clockThread.start();
textField.setText("");
jButtonParar.setEnabled(true);
tempoInicial = System.currentTimeMillis() / 1000;
textFieldTempoFinal.setText(null);
}
private void parar(java.awt.event.ActionEvent evt) {
clockThread.interrupt();
textField.setText(""+(time-1));
time = 0;
jButtonParar.setEnabled(false);
Long tempoFinal = System.currentTimeMillis() / 1000;
Long resultado = tempoFinal - tempoInicial;
Resultado result = new Resultado();
result.setPrimeiroResultado(resultado.toString());
if(textFieldTime1.equals(null)){
textFieldTime1.setText(result.getPrimeiroResultado());
}else {
textFieldTime2.setText(result.getPrimeiroResultado());
}
}
private void Limpar(java.awt.event.ActionEvent evt) {
textFieldTempoFinal.setText(null);
}
private void textFieldTempoFinalActionPerformed(java.awt.event.ActionEvent evt) {
textFieldTempoFinal.setText(FORMATO.format(new Date()));
}
private void calcular(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Tempo().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButtonIniciar;
private javax.swing.JButton jButtonIniciarCalcular;
private javax.swing.JButton jButtonLimpar;
private javax.swing.JButton jButtonParar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabelTime1;
private javax.swing.JLabel jLabelTime2;
private javax.swing.JLabel jLabelTime3;
private javax.swing.JPanel jPanel1;
private java.awt.TextField textField;
private java.awt.TextField textFieldCalculo;
private java.awt.TextField textFieldTempoFinal;
private java.awt.TextField textFieldTime1;
private java.awt.TextField textFieldTime2;
private java.awt.TextField textFieldTime3;
// End of variables declaration
}
