package chess.util;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import javax.swing.Timer;
import chess.local.ChessGUILocal_View;
import chess.network.ChessGUINetwork;
public class ChessTimer {
private int miliseconds = 3590000;
private NumberFormat format;
private boolean isActive;
private Timer chessTimer;
private ChessGUILocal_View chessGUILocal;
private ChessGUINetwork chessGUINetwork;
public ChessTimer(ChessGUILocal_View chessGUILocal) {
this.chessGUILocal = chessGUILocal;
}
public ChessTimer(ChessGUINetwork chessGUINetwork) {
this.chessGUINetwork = chessGUINetwork;
}
public ChessTimer() {
// TODO Auto-generated constructor stub
}
public void timerStart() {
this.isActive = true;
ActionListener taskPerformer = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (chessGUILocal != null) {
chessGUILocal.getChessTotalTimerLabel().setText(
((miliseconds / 3600000) + ":" + ((miliseconds % 3600000) / 60000) + ":" + ((miliseconds % 60000) / 1000)));
miliseconds += 1000;
} else {
// TODO ChessGUINetwork parametr
}
}
};
chessTimer = new Timer(1000, taskPerformer);
chessTimer.start();
}
public void timerStop() {
this.isActive = false;
chessTimer.stop();
}
public boolean isActive() {
return isActive;
}
}
Самообновление таймера в JLabel???
В принципе так как я сделал не оч красиво, так как придется писать много кода и в таймер передавать ссылку на объект на котором метка.
Мне же нужно, чтоб я сделал например new ChessTimer и он сам бы себя обновлял.
Спасибо!
Вот класс
Код: