Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Самообновление таймера в JLabel???

Ответить
Настройки темы
Java - Самообновление таймера в JLabel???

Пользователь


Сообщения: 96
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Подскажите пожалуйста как можно сделать так, чтоб таймер обновлял сам себя? Я вот написал небольшой класик, в котором таймер вставляется в JLabel и обновляется каждую секунду. Мне же нужно создавать такие таймеры из разных компонентов.
В принципе так как я сделал не оч красиво, так как придется писать много кода и в таймер передавать ссылку на объект на котором метка.

Мне же нужно, чтоб я сделал например new ChessTimer и он сам бы себя обновлял.

Спасибо!

Вот класс
Код: Выделить весь код
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;
	}

}

Отправлено: 20:39, 26-04-2012

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Самообновление таймера в JLabel???

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - [решено] Показ таймера Starter1 Программирование и базы данных 1 23-11-2011 11:28
Интерфейс - Странности в работе системы (черная полоса на экране и самообновление страниц) mershinv Microsoft Windows 7 4 16-09-2011 18:23
Delphi - По использованию таймера Onclick Программирование и базы данных 2 14-06-2010 12:24
Разное - Самообновление папок (100% загрузка процессора) mcray Лечение систем от вредоносных программ 6 05-06-2010 09:54
Установка - Остановка таймера - что это такое? medvedkovo Microsoft Windows 2000/XP 2 31-01-2008 11:05




 
Переход