Moin aus dem Norden,
ich habe immer noch Probleme mit mehreren klassen zu arbeiten.
Wenn ich meine kleinen Programme in meiner Main-Klasse programmiere, habe ich immer keine probleme, aber wenn ich es so schön aufgeräumt versuche, wie es sich gehört, dann treten immer wieder Probleme auf.
Aktuell habe ich eine Main-Klasse, die eine grafische Benutzeroberfläche hat. Alles gut, nun möchte ich auf dieser Oberfläche eine Digitaluhr ausgeben. Funktioniert auch soweit.
Jetzt möchte ich aber gerne, dass jede Sekunde aus der Klasse "Digitaluhr" eine Methode in der Klasse Main ausgeführt wird und gleichzeitig sollen die Stunden sowie die Minuten als Int übergeben werden. Ich weiß aber nicht wie ich das bewerkstelligen soll.
Hier meine Klasse:
Um die Stunde oder Minute als Int umzuwandeln ist für mich kein Problem. Ich möchte gerne zu einer bestimmten Uhrzeit in der anderen Klasse ein Relais schalten, daher möchte ich gerne die Werte als Int rüber geben.
Vielen Dank
ich habe immer noch Probleme mit mehreren klassen zu arbeiten.
Wenn ich meine kleinen Programme in meiner Main-Klasse programmiere, habe ich immer keine probleme, aber wenn ich es so schön aufgeräumt versuche, wie es sich gehört, dann treten immer wieder Probleme auf.
Aktuell habe ich eine Main-Klasse, die eine grafische Benutzeroberfläche hat. Alles gut, nun möchte ich auf dieser Oberfläche eine Digitaluhr ausgeben. Funktioniert auch soweit.
Jetzt möchte ich aber gerne, dass jede Sekunde aus der Klasse "Digitaluhr" eine Methode in der Klasse Main ausgeführt wird und gleichzeitig sollen die Stunden sowie die Minuten als Int übergeben werden. Ich weiß aber nicht wie ich das bewerkstelligen soll.
Hier meine Klasse:
Java:
import java.awt.Color;
import java.awt.Font;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Digitaluhr extends JPanel implements Runnable {
private static final long serialVersionUID = 1L;
private JLabel label;
private Font font = new Font("Verdana", Font.PLAIN, 20);
private Thread thread;
public Digitaluhr() {
label = new JLabel();
label.setFont(font);
label.setOpaque(true);
label.setBackground(Color.LIGHT_GRAY);
this.add(label);
start();
}
private void gibDate() {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter df;
df = DateTimeFormatter.ofPattern("dd.MM.yyyy kk:mm"); // 31.01.2016 20:07
label.setText(now.format(df));
}
public void start() {
if (thread == null) {
thread = new Thread(this);
thread.start();
}
}
public void run() {
while (true) {
gibDate();
// setTime();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Um die Stunde oder Minute als Int umzuwandeln ist für mich kein Problem. Ich möchte gerne zu einer bestimmten Uhrzeit in der anderen Klasse ein Relais schalten, daher möchte ich gerne die Werte als Int rüber geben.
Vielen Dank