| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 
 |  
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import org.eclipse.swt.*;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;
 
public class Fenetre {
	Text text;
	Display display;
	Group group;
	String s;
	private Watch watch;
 
	public Fenetre(Watch watch) {
		this.watch = watch;
		display = new Display();
		Shell shell = new Shell(display);
		shell.setText("Watch");
		shell.addListener(SWT.Close, new Listener() {
			public void handleEvent(Event event) {
				System.exit(0);
			}
		});
 
		group = new Group(shell, SWT.NONE);
		group.setText("Show Time");
		group.setLayout(new FillLayout());
 
		text = new Text(group, SWT.NONE);
		text.setEditable(false);
		text.setBounds(10, 30, 100, 25);
		text.setText("12:46");
 
		/* ActionListener taskPerformer =  new ActionListener() {
			/*public void actionPerformed(ActionEvent arg0) {
				if (display.isDisposed())
					return;*/
 
				final Runnable timer = new Runnable() {
					public void run() {
						if (text.getVisible()) {
							System.out.println("false");
							text.setVisible(false);
						} else
							text.setVisible(true);
						display.timerExec(500, this);
					}
				};
 
 
				/*
				 * text.getDisplay().syncExec(new Runnable() { public void run()
				 * { if (text.getVisible()) { System.out.println("false");
				 * text.setVisible(false); } else text.setVisible(true); } });
				 */
			//}
 
		//};
		// final Timer clignotement = new Timer(500, taskPerformer);
 
		Button button1 = new Button(group, SWT.NONE);
		button1.setText("Mode");
		button1.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				System.out.println("Appui sur le bouton MODE");
				if (getWatch().getMode() == Mode.SHOWTIME) {
					group.setText("Adjust hours");
					display.timerExec(500, timer);
 
					// clignotement.start();
 
				} else if (getWatch().getMode() == Mode.ADJUSH) {
					group.setText("Adjust minutes");
 
				} else {
					group.setText("Show time");
					// clignotement.stop();
					display.timerExec(-1, timer);
					text.setVisible(true);
				}
				getWatch().getA().click("A");
			}
		});
 
		Button button2 = new Button(group, SWT.NONE);
		button2.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				getWatch().getB().click("B");
			}
		});
 
		button2.setText("Set");
		group.pack();
		shell.pack();
		shell.open();
 
		while (!shell.isDisposed()) {
			shell.update();
			if (!display.readAndDispatch()) {
 
				display.sleep();
 
			}
 
			this.print();
		}
		display.dispose();
	}
 
	public void print() {
 
		text.setText(watch.getHour() + ":" + watch.getMinute());
 
	}
 
	public Watch getWatch() {
		return this.watch;
	}
 
} | 
Partager