summaryrefslogtreecommitdiffstats
path: root/qtjava/javalib/tutorial/t11/Tut11.java
blob: b64fcdbecfd9ce8e45dd6d7dd388ab7d7320fd93 (plain)
1
2
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
import org.kde.qt.*;

public class Tut11 extends QWidget {
	public Tut11() {
		QPushButton quit = new QPushButton("&Quit", this, "quit");
		quit.setFont(new QFont("Times", 18, QFont.Bold, false));

		connect(quit, SIGNAL("clicked()"), qApp(), SLOT("quit()"));

		LCDRange angle = new LCDRange(this, "angle");
		angle.setRange(5, 70);

		LCDRange force = new LCDRange(this, "force");
		force.setRange(10, 50);

		CannonField cannonField = new CannonField(this, "cannonField");

		connect(angle, SIGNAL("valueChanged(int)"),
						cannonField, SLOT("setAngle(int)"));
		connect(cannonField, SIGNAL("angleChanged(int)"),
						angle, SLOT("setValue(int)"));

		connect(force, SIGNAL("valueChanged(int)"),
						cannonField, SLOT("setForce(int)"));
		connect(cannonField, SIGNAL("forceChanged(int)"),
						force, SLOT("setValue(int)"));


		QPushButton shoot = new QPushButton("&Shoot", this, "shoot");
		shoot.setFont(new QFont("Times", 18, QFont.Bold, false));

		connect(shoot, SIGNAL("clicked()"), cannonField, SLOT("shoot()"));

		QGridLayout grid = new QGridLayout(this, 2, 2, 10, -1, null);
		grid.addWidget(quit, 0, 0);
		grid.addWidget(cannonField, 1, 1);
		grid.setColStretch(1, 10);

		QVBoxLayout leftBox = new QVBoxLayout();
		grid.addLayout(leftBox, 1, 0);
		leftBox.addWidget(angle);
		leftBox.addWidget(force);

		QHBoxLayout topBox = new QHBoxLayout();
		grid.addLayout(topBox, 0, 1);
		topBox.addWidget(shoot);
		topBox.addStretch(1);

		angle.setValue(60);
		force.setValue(25);
		angle.setFocus();
	}
	
	public static void main(String[] args) {
		QApplication.setColorSpec(QApplication.CustomColor);
		QApplication a = new QApplication(args);
		Tut11 w = new Tut11();
		w.setGeometry( 100, 100, 500, 355 );
		
		a.setMainWidget(w);
		w.show();
		a.exec();
		return;
	}
	
	static {
		try {
			Class c = Class.forName("org.kde.qt.qtjava");
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("Can't load qtjava class");
		}
	}
}