A
adsfasfasfas
Gast
Hi,
ich will eine Binäre Uhr schreiben, die ganz links oben am Bildschirm die Uhrzeit binär anzeigt.
Dazu habe ich alles geschrieben, doch schafft ich es nicht richtig das JFrame richtig an das JDialog zu übergeben
Mein Versuch:
Hier wird die Uhrzeit nciht mehr angezeigt
Als JFrame funktioniert es, es ist aber in der Taskleiste:
Was mache ich hierbei falsch?
Danke
Mfg
adsfasfasfas
ich will eine Binäre Uhr schreiben, die ganz links oben am Bildschirm die Uhrzeit binär anzeigt.
Dazu habe ich alles geschrieben, doch schafft ich es nicht richtig das JFrame richtig an das JDialog zu übergeben
Mein Versuch:
Code:
import java.awt.Graphics;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class BinaryClock implements Runnable
{
JDialog d;
JFrame f;
private static final long serialVersionUID = 1L;
boolean running = true;
Thread t = new Thread(this);
GregorianCalendar gc = new GregorianCalendar();
JLabel l = new JLabel();
public static void main(String[] args)
{
new BinaryClock();
}
public BinaryClock()
{
t.start();
f = new JFrame();
d = new JDialog(f);
f.setUndecorated(true);
f.add(l);
f.pack();
d.setVisible(true);
}
public void run()
{
try
{
while(running)
{
paint();
Thread.sleep(1000);
}
}
catch (InterruptedException e)
{
}
}
public void paint()
{
gc.setTimeInMillis(System.currentTimeMillis());
String second = Integer.toBinaryString(gc.get(Calendar.SECOND));
String minute = Integer.toBinaryString(gc.get(Calendar.MINUTE));
String hour = Integer.toBinaryString(gc.get(Calendar.HOUR_OF_DAY));
l.setText(hour + ":" + minute + ":" + second);
}
void stop(Thread t)
{
running = false;
t.interrupt();
}
}
Hier wird die Uhrzeit nciht mehr angezeigt
Als JFrame funktioniert es, es ist aber in der Taskleiste:
Code:
import java.awt.Graphics;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class BinaryClock extends JFrame implements Runnable
{
private static final long serialVersionUID = 1L;
boolean running = true;
Thread t = new Thread(this);
GregorianCalendar gc = new GregorianCalendar();
JLabel l = new JLabel();
public static void main(String[] args)
{
new BinaryClock();
}
public BinaryClock()
{
t.start();
this.setUndecorated(true);
add(l);
pack();
setVisible(true);
}
public void run()
{
try
{
while(running)
{
paint();
Thread.sleep(1000);
}
}
catch (InterruptedException e)
{
}
}
public void paint()
{
gc.setTimeInMillis(System.currentTimeMillis());
String second = Integer.toBinaryString(gc.get(Calendar.SECOND));
String minute = Integer.toBinaryString(gc.get(Calendar.MINUTE));
String hour = Integer.toBinaryString(gc.get(Calendar.HOUR_OF_DAY));
l.setText(hour + ":" + minute + ":" + second);
}
void stop(Thread t)
{
running = false;
t.interrupt();
}
}
Was mache ich hierbei falsch?
Danke
Mfg
adsfasfasfas