Olá pessoal,
Sou iniciante em Java, e estou tentando implementar um Cronometro, que tenha os botões START, RESETAR, PEGAR TEMPO. Onde quando clico em PEGAR TEMPO, o tempo no momento do clique deverá ser salvo em um arquivo TXT.
Então minhas dúvidas são: Já iniciei a implemetação do cronometro (segue abaixo o código), mais notei a seguinte falha. O cronometro esta atrasando, quando abro outros programas. É como ele não tivesse prioridade na execução e tivesse q dividir memória ou processador com outros processos. Então gostaria de saber se tem alguma maneira de fazer com o cronomentro nao atrase, dele ter prioridade total, sei lá.
E a outra é se complica muito de pegar esse tempo e salvar num TXT. (ainda não cheguei nessa parte da implementação, estou so me adiantando logo).
Obrigado,
Kleydson Wilbert
import javax.swing.;
//import java.awt.;
import java.awt.event.*;
public class Cronos extends JPanel implements ActionListener
{
final JLabel label = new JLabel();
final JButton button = new JButton();
Timer tim = new Timer(10,this);
int cent=0,sec= 0,min = 0;
public void go(){
tim.start();
}
public void nogo(){
tim.stop();
}
public Cronos(){
label.setText("00'00''00");
button.setText("Start");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (button.getText() == "Start") {
button.setText("Stop");
go();
}
else {
button.setText("Start");
cent = 0;
sec = 0;
min = 0;
nogo();
}
}
});
add(label);
add(button);
}
public static void main(String args[])
{
JFrame f = new JFrame("Cronometer");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// f.setSize(450,100);
f.setResizable(false);
f.setLocationRelativeTo(null); //centers application on screen
f.setContentPane(new Cronos());
f.pack();
f.show();
}
public void actionPerformed(ActionEvent e){
String aux1="",aux2="",aux3="";
cent++;
if (cent == 100){
cent = 0;
sec++;
}
if (sec == 60){
sec = 0;
min++;
}
if (cent < 10) aux3="0";
else aux3="";
if (sec < 10) aux2="0";
else aux2="";
if (min < 10) aux1="0";
else aux1="";
label.setText(aux1 + min + "'" + aux2 + sec + "''" + aux3 + cent);
}
}