Java2实用教程(第二版)程序代码——第十二章 布局设计
1
//例子1
2
import java.applet.*;import java.awt.*;
3
public class Example12_1 extends Applet
4
{ public void init()
5
{ FlowLayout flow=new FlowLayout();
6
flow.setAlignment(FlowLayout.LEFT);
7
flow.setHgap(20);flow.setVgap(40);
8
setLayout(flow);
9
setBackground(Color.cyan);
10
for(int i=1;i<=12;i++)
11
{ add(new Button("i am "+i));
12
}
13
}
14
}
15![]()
16
//例子2
17
import java.awt.*;import java.applet.*;
18
public class Example12_2 extends Applet
19
{ Button button1,button2;
20
Label label1,label2;
21
TextArea text;
22
public void init()
23
{ setLayout(new BorderLayout());
24
text=new TextArea(10,10);
25
button1=new Button("东");
26
button2=new Button("西");
27
label1=new Label("上北",Label.CENTER);
28
label2=new Label("下南",Label.CENTER);
29
add(BorderLayout.NORTH,label1);
30
add(label2,BorderLayout.SOUTH);
31
add(button1,BorderLayout.EAST);
32
add(BorderLayout.WEST,button2);
33
add(BorderLayout.CENTER,text);
34
}
35
}
36![]()
37
//例子3
38
import java.applet.*;import java.awt.*;import java.awt.event.*;
39
class Mycanvas extends Canvas
40
{ int x,y;
41
Mycanvas(int a,int b)
42
{ x=a;y=b;
43
setSize(100,160);
44
}
45
public void paint(Graphics g)
46
{ g.setColor(Color.red);
47
g.fillOval(50,50,4*x,4*y);//画实心椭圆
48
g.drawString("我是第 "+x,10,150);
49
}
50
}
51
public class Example12_3 extends Applet implements ActionListener
52
{ CardLayout mycard;
53
Button button1,button2,button3;
54
Mycanvas mycanvas[];
55
Panel p;
56
public void init()
57
{ setLayout(new BorderLayout()); //小容器的布局是边界布局。
58
mycard=new CardLayout();
59
p=new Panel();
60
p.setLayout(mycard); //p的布局设置为mycard(卡片式布局)
61
button1=new Button("first");
62
button2=new Button("next");
63
button3=new Button("last one");
64
mycanvas=new Mycanvas[21];
65
for(int i=1;i<=20;i++)
66
{ mycanvas[i]=new Mycanvas(i,i);
67
p.add("i am"+i,mycanvas[i]);
68
}
69
button1.addActionListener(this);
70
button2.addActionListener(this);
71
button3.addActionListener(this);
72
Panel p2=new Panel();
73
p2.add(button1);p2.add(button2);p2.add(button3);
74
add(p,BorderLayout.CENTER);add(p2,BorderLayout.SOUTH);
75
}
76
public void actionPerformed(ActionEvent e)
77
{ if(e.getSource()==button1)
78
{ mycard.first(p);
79
}
80
else if(e.getSource()==button2)
81
{ mycard.next(p);
82
}
83
else if(e.getSource()==button3)
84
{ mycard.last(p);
85
}
86
}
87
}
88![]()
89
//例子4
90
import java.applet.*; import java.awt.*;
91
import java.awt.event.*;
92
public class Example12_4 extends Applet
93
{ GridLayout grid;
94
public void init()
95
{ grid=new GridLayout(12,12);
96
setLayout(grid);
97
Label label[][]=new Label[12][12];
98
for(int i=0;i<12;i++)
99
{ for(int j=0;j<12;j++)
100
{ label[i][j]=new Label();
101
if((i+j)%2==0)
102
label[i][j].setBackground(Color.black);
103
else
104
label[i][j].setBackground(Color.white);
105
add(label[i][j]);
106
}
107
}
108
}
109
}
110![]()
111
//例子5
112
import javax.swing.*;import java.awt.*;import java.awt.event.*;
113
import javax.swing.border.*;
114
public class Example12_5 extends java.applet.Applet
115
{ Box baseBox ,boxH,boxV;
116
public void init()
117
{ baseBox=Box.createHorizontalBox();
118
boxH=Box.createHorizontalBox();
119
boxV=Box.createVerticalBox();
120
for(int i=1;i<=5;i++)
121
{ boxH.add(new JButton("按钮 "+i));
122
boxV.add(new JButton("按钮 "+i));
123
}
124
baseBox.add(boxH);baseBox.add(boxV);
125
add(baseBox);
126
}
127
}
128![]()
129
//例子6
130
import javax.swing.*; import java.awt.*;
131
import javax.swing.border.*;
132
public class Example12_6 extends java.applet.Applet
133
{ Box baseBox ,boxV1,boxV2;
134
public void init()
135
{ boxV1=Box.createVerticalBox();
136
boxV1.add(new Label("输入您的姓名"));
137
boxV1.add(Box.createVerticalStrut(8));
138
boxV1.add(new Label("输入email"));
139
boxV1.add(Box.createVerticalStrut(8));
140
boxV1.add(new Label("输入您的职业"));
141
boxV2=Box.createVerticalBox();
142
boxV2.add(new TextField(16));
143
boxV2.add(Box.createVerticalStrut(8));
144
boxV2.add(new TextField(16));
145
boxV2.add(Box.createVerticalStrut(8));
146
boxV2.add(new TextField(16));
147
baseBox=Box.createHorizontalBox();
148
baseBox.add(boxV1);
149
baseBox.add(Box.createHorizontalStrut(10));
150
aseBox.add(boxV2);
151
add(baseBox);
152
}
153
}
154![]()
155
//例子7
156
import javax.swing.*;import java.awt.*;
157
import javax.swing.border.*;
158
public class Example12_7 extends java.applet.Applet
159
{ Box baseBox ,boxV1,boxV2,boxV3;
160
public void init()
161
{ boxV1=Box.createVerticalBox();
162
for(int i=1;i<=3;i++)
163
{ boxV1.add(new JButton("按钮"+i));
164
}
165
boxV1.add(Box.createVerticalGlue());
166
boxV2=Box.createVerticalBox();
167
boxV2.add(Box.createVerticalGlue());
168
for(int i=1;i<=8;i++)
169
{ boxV2.add(new JButton("按钮"+i));
170
}
171
boxV3=Box.createVerticalBox();
172
for(int i=1;i<=6;i++)
173
{ boxV3.add(new JButton("按钮"+i));
174
if(i==3)
175
boxV3.add(Box.createVerticalGlue());
176
}
177
baseBox=Box.createHorizontalBox();
178
baseBox.add(boxV1);baseBox.add(boxV2);
179
baseBox.add(boxV3); add(baseBox);
180
}
181
}
182![]()

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

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

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182
