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 Tut12 extends QWidget {
public Tut12() {
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("ANGLE", this, "angle");
angle.setRange(5, 70);
LCDRange force = new LCDRange("FORCE", 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);
Tut12 w = new Tut12();
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");
}
}
}
|