PDA

Click to See Complete Forum and Search --> : Timer Class to flicker the color of the numbers


redus2k
Jul 31st, 2006, 08:55 PM
i have wrote most of my sudoku code including the gui. i need help flickering two colors for a solved row, col, or 3*3 box. i have a writeNumber method that will probably make the new method easier(it takes the logical x/y coordinates and translate them into phyiscal coordinates.). i am very new to the timer class and i know i need it for this feature. i also think i need another method to detect a row,col, or the box being solve.



Here is the writeNumber method:
private void writeNumber(Graphics g, byte x, byte y, String number, Color color)
{

final int factor = 40;

g.setFont(new Font("Serif", Font.BOLD, 30));
g.setColor(color);

if (!number.equals(""))
{

byte temp = Byte.parseByte(number);

g.drawString(String.valueOf(temp), 12 + x * factor, 30 + y * factor);
}
}

ComputerJy
Aug 1st, 2006, 02:16 AM
import java.util.*;

public class TimerExample {
private Timer timer;
public TimerExample() {
timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
//Add here what you want to do everytime
}
//The timer will run the task after 0ms and will repeat after each 500ms
}, 0, 500);
}
}

EDIT: to terminate all timer tasks use timer.cancel();

redus2k
Aug 1st, 2006, 07:40 PM
How would i incorporate the flickering of the colors into my (Sudoku)gameboard.

ComputerJy
Aug 2nd, 2006, 02:33 AM
import java.util.*;
import java.util.Timer;

import java.awt.*;
import javax.swing.*;

public class SudokuGame
extends JFrame {
private Timer timer;
private Color color;
public SudokuGame() {
timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
if (color.equals(Color.BLUE)) {
color = Color.RED;
}
else {
color = Color.BLUE;
}
repaint();
}
//The timer will run the task after 0ms and will repeat after each 500ms
}, 0, 500);
timer.cancel();
}
}
This code switches between Blue and Red every 500ms, override the paint(Graphics g) and use the g.setColor(color); before painting

System_Error
Aug 3rd, 2006, 06:01 PM
A Timer object is probably the best route to go. You can always use Thread objects, but the coding and running of the program can get quit messy when you want everything to flow smoothly. Use CJ's example and you should be fine.

redus2k
Aug 3rd, 2006, 09:57 PM
Thanks very much ^^^^^^^^^^^