/**
* Class untuk menampilkan timer
*/
import java.awt.*;
import javax.swing.*;
public class DigitPane extends JPanel {
private int second;
public Dimension getPreferredSize(){
FontMetrics fm = getFontMetrics(getFont());
return new Dimension(fm.stringWidth("00"), fm.getHeight());
}
// function untuk mengubah nilai timer dan mengupdate tampilan
public void setValue(int newVal){
if (second != newVal) {
second = newVal;
repaint();
}
}
public int getValue(){
return second;
}
// function u/ menampilkan integer sebagai string
private String pad(int value){
return String.format("%02d", value);
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.setFont(new Font("LCD", Font.PLAIN, 24));
FontMetrics fm = getFontMetrics(g.getFont());
String text = pad(getValue());
int x = (getWidth() - fm.stringWidth(text)) / 2;
int y = ((getHeight()- fm.getHeight()) / 2) + fm.getAscent();
g.drawString(text, x, y);
}
}