timestamp
Mitglied Käsekuchen
Hallo allerseits,
ich habe mir aus Jux und Dollerei mal eine kleine Binäruhr geschrieben. Ein Blick in den Taskmanager zeigte mir aber, dass die Spalte "Arbeitsspeicher" sich etwa alle 2Sekunden um 4kB erhöht. Ich weiß nur nicht woran das liegt? Ich habe schon versucht alle Variablen vorher zu deklarieren, aber irgendwo habe ich wohl was übersehen (kenne mich mit der Speicherverwaltung von Java ohnehin gar nicht aus).
Hier der Code:
ich habe mir aus Jux und Dollerei mal eine kleine Binäruhr geschrieben. Ein Blick in den Taskmanager zeigte mir aber, dass die Spalte "Arbeitsspeicher" sich etwa alle 2Sekunden um 4kB erhöht. Ich weiß nur nicht woran das liegt? Ich habe schon versucht alle Variablen vorher zu deklarieren, aber irgendwo habe ich wohl was übersehen (kenne mich mit der Speicherverwaltung von Java ohnehin gar nicht aus).
Hier der Code:
Java:
public class BinaryClock extends JFrame{
JPanel contentPane;
int i, h, m,s,pow,width,height;
Calendar c;
public BinaryClock(){
super("BinaryClock");
setUndecorated(true);
width = 140;
height = 65;
setBounds(1400, 50, width, height);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
//AWTUtilities.setWindowOpaque(this, false);
contentPane = new JPanel () {
protected void paintComponent(final Graphics g) {
g.setColor(Color.white);
g.fillRect(0, 0, width, height);
g.setColor(Color.black);
g.drawRect(0,0,width-1,height-1);
c = Calendar.getInstance();
h = c.get(Calendar.HOUR_OF_DAY);
m = c.get(Calendar.MINUTE);
s = c.get(Calendar.SECOND);
for( i = 0; i <= 5; i++ ){
pow = (int)Math.pow(2,i);
g.setColor(Color.black);
if( i < 5 ){
g.drawRect(110-i*20-1, 44, 16, 16);
}
g.drawRect(110-i*20-1, 24, 16, 16);
g.drawRect(110-i*20-1, 4, 16, 16);
g.setColor(Color.blue);
if( (h&pow) > 0 ){
g.fillRect(110-i*20, 45, 15, 15);
}
if( (m&pow) > 0 ){
g.fillRect(110-i*20, 25, 15, 15);
}
if( (s&pow) > 0 ){
g.fillRect(110-i*20, 5, 15, 15);
}
}
}
};
setContentPane(contentPane);
setAlwaysOnTop(true);
setVisible(true);
run();
}
public void run(){
while( true ){
contentPane.repaint();
try{
Thread.sleep(1000);
}
catch(Exception e){}
}
}
public static void main(String[] args){
new BinaryClock();
}
}