Java Group Layout (GroupLayout) – Example สำหรับ GroupLayout เป็นรูปแบบการจัดวาง Layout บน Java GUI ที่สามารถจัดกลุ่มของ Component Controls ได้ ซึ่งการใช้งานนั้นค่อนข้างจะยากพอสมควร และการเขียนนั้นแนะนำให้เขียนผ่าน Tools เช่น Netbeans หรือ Eclipse
Java Group Layout (GroupLayout) – Example
Syntax
1.
GroupLayout groupLayout =
new
GroupLayout(getContentPane());
Component Control ของ Layout
เครื่องมือ Layout บน GUI Tools
มุมมองบน GUI Tools
Example
MyForm.java
01.
package
com.java.myapp;
02.
03.
import
java.awt.EventQueue;
04.
import
javax.swing.JFrame;
05.
import
javax.swing.JButton;
06.
import
javax.swing.GroupLayout;
07.
import
javax.swing.GroupLayout.Alignment;
08.
import
javax.swing.LayoutStyle.ComponentPlacement;
09.
10.
public
class
MyForm
extends
JFrame {
11.
12.
/**
13.
* Launch the application.
14.
*/
15.
public
static
void
main(String[] args) {
16.
EventQueue.invokeLater(
new
Runnable() {
17.
public
void
run() {
18.
MyForm frame =
new
MyForm();
19.
frame.setVisible(
true
);
20.
}
21.
});
22.
}
23.
24.
/**
25.
* Create the frame.
26.
*/
27.
public
MyForm() {
28.
29.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
30.
setBounds(
100
,
100
,
458
,
287
);
31.
setTitle(
"ThaiCreate.Com GUI Tutorial"
);
32.
33.
JButton btn1 =
new
JButton(
"Button 1"
);
34.
35.
JButton btn2 =
new
JButton(
"Button 2"
);
36.
37.
JButton btn3 =
new
JButton(
"Button 3"
);
38.
39.
GroupLayout groupLayout =
new
GroupLayout(getContentPane());
40.
groupLayout.setHorizontalGroup(
41.
groupLayout.createParallelGroup(Alignment.LEADING)
42.
.addGroup(groupLayout.createSequentialGroup()
43.
.addGap(
34
)
44.
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
45.
.addGroup(groupLayout.createSequentialGroup()
46.
.addComponent(btn1)
47.
.addPreferredGap(ComponentPlacement.RELATED,
196
, Short.MAX_VALUE)
48.
.addComponent(btn3)
49.
.addGap(
34
))
50.
.addGroup(groupLayout.createSequentialGroup()
51.
.addComponent(btn2)
52.
.addContainerGap(
319
, Short.MAX_VALUE))))
53.
);
54.
groupLayout.setVerticalGroup(
55.
groupLayout.createParallelGroup(Alignment.LEADING)
56.
.addGroup(groupLayout.createSequentialGroup()
57.
.addGap(
30
)
58.
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
59.
.addComponent(btn1)
60.
.addComponent(btn3))
61.
.addPreferredGap(ComponentPlacement.UNRELATED)
62.
.addComponent(btn2)
63.
.addContainerGap(
162
, Short.MAX_VALUE))
64.
);
65.
getContentPane().setLayout(groupLayout);
66.
67.
}
68.
}
Output
รูปแบบการจัดวาง Layout แบบ GroupLayout