Code:
public class Main {
public static void main(String[] args) {
Countdown c = new Countdown();
Gui window = new Gui(c);
c.addObserver(window);
}
}
Code:
public class Gui implements Observer {
private Label label_5;
private Label label_6;
private Button button;
private Countdown c;
public Gui(Countdown c1){
c = c1;
open();
}
public void open() {
final Display display = new Display();
final Shell shell = new Shell();
shell.setText("Die Eieruhr");
shell.setSize(588,295);
final Group group = new Group(shell, SWT.NONE);
group.setText("Steuerung");
group.setBounds(10, 40, 300, 145);
final Label label = new Label(group, SWT.NONE);
label.setBounds(10, 30, 230, 25);
label.setText("Welche Konsistenz soll das Ei am Ende haben?");
final Combo combo = new Combo(group, SWT.NONE);
combo.setItems(new String[] { "FLÜSSIG", "MITTEL", "HART", "MANUELL" });
combo.setBounds(10, 55, 160, 20);
final Text text = new Text(group, SWT.BORDER | SWT.CENTER);
text.setBounds(10, 95, 70, 25);
final Label label_1 = new Label(group, SWT.NONE);
label_1.setBounds(90, 100, 75, 15);
label_1.setText("Minuten");
final Group group_1 = new Group(shell, SWT.NONE);
group_1.setText("Status");
group_1.setBounds(10, 195, 560, 60);
final Group group_2 = new Group(shell, SWT.NONE);
group_2.setText("Verbleidende Zeit");
group_2.setBounds(320, 40, 250, 70);
final Label label_2 = new Label(group_2, SWT.NONE);
label_2.setBounds(15, 35, 80, 25);
label_2.setText("Abschrecken in:");
final Label label_3 = new Label(group_2, SWT.NONE);
label_3.setBounds(180, 35, 65, 25);
label_3.setText("Minuten");
final Label label_4 = new Label(group_2, SWT.NONE);
label_4.setBounds(135, 35, 0, 25);
label_4.setText(":");
label_5 = new Label(group_2, SWT.NONE);
label_5.setBounds(110, 35, 20, 20);
label_5.setText("00");
label_6 = new Label(group_2, SWT.NONE);
label_6.setBounds(150, 35, 15, 20);
label_6.setText("00");
final Label label_7 = new Label(group_2, SWT.NONE);
label_7.setBounds(135, 35, 10, 25);
label_7.setText(":");
final Button button = new Button(shell, SWT.NONE);
button.addMouseListener(new MouseAdapter() {
public void mouseDown(MouseEvent e) {
c.countd(2,10);
}
});
button.setBounds(320, 125, 250, 60);
button.setText("Das Wasser kocht!");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}}//end open
public void setMins (String mins){
label_5.setText(mins);}
public void setSecs (String secs){
label_6.setText(secs);
}
public void test (){
label_5.setText("11");
}
public void update (Observable o, Object d){
System.out.println(d);
label_5.setText("10");
}
}
Code:
public class Countdown extends Observable{
private int minutes;
private int seconds;
public Countdown (){
}
public void countd (int mi, int se){
minutes = mi;
seconds = se;
/*while(minutes!=0 && seconds!=0){
try{Thread.sleep(1000);}
catch (InterruptedException e){}
seconds--;
if(seconds==0){
seconds=59;
minutes--;}
notifyObservers(String.valueOf(minutes));
}*/
//System.out.println("1");
setChanged();
notifyObservers("Das");
} }
Die Update Methode wird einfach nicht erreicht bzw aufgerufen. Wo liegt mein Fehler?