[Lập trình Java] FlowLayout – BoxLayout trong JavaSwing mới nhất

[Lập trình Java] FlowLayout – BoxLayout trong JavaSwing

#Lập #trình #Java #FlowLayout #BoxLayout #trong #JavaSwing
[rule_3_plain]
#Lập #trình #Java #FlowLayout #BoxLayout #trong #JavaSwing

JavaSwing
FlowLayout
BoxLayout

Khái niệm

là một cách sắp xếp các đối tượng trên một dòng, từ trái qua phải. Dùng FlowLayout khi muốn sắp xếp các đối tượng liên tiếp nhau trên một dòng.
Khi thay đổi kích thước làm chiều rộng của JFrame không đủ chứa các JButton trên thì chúng sẽ tự động được đẩy xuống dòng dưới (xem bài tập ví dụ cụ thể bên dưới).

Boxlayout là một Layout cho phép sắp xếp các control trên một hàng ngang hoặc trên một cột thẳng đứng.
Khi sắp xếp theo hàng ngang thì khác với FlowLayout, các control sẽ không tự động xuống dòng nếu như không đủ chỗ.

Các hàm khởi tạo

FlowLayout(): Khởi tạo FlowLayout với các đối tượng được căn lề mặc định là CENTER (căn giữa) và khoảng cách giữa các đối tượng theo chiều ngang và dọc mặc định là 5 đơn vị.
FlowLayout(int align): Tương tự như trên nhưng chỉ định vị trí căn lề như: CENTER, LEFT, RIGHT, LEADING, TRAILING và chỉ ra cách căn trái, phải tương đối theo sự sắp xếp của Container.
FlowLayout(int align, int hgap, int vgap): Với cách khởi tạo này chúng ta sẽ tự đặt cách căn lề và khoảng cách ngang (hgap), dọc (vgap) giữa các đối tượng.

Đầu tiên, cần khởi tạo Container (JPanel):
[JPanel panel = new JPanel(new LayoutManager());
Sau đó, khởi tạo BoxLayout:
BoxLayout(Container target, int axis): Tạo BoxLayout với cách bố trí là axis.
Và cuối cùng dùng hàm setLayout để đặt Layout cho JPanel.
Việc sắp xếp các đối tượng theo chiều ngang hay dọc phục thuộc vào đối số axis, X_AXIS sẽ sắp xếp theo chiều ngang, Y_AXIS là theo chiều dọc.

Bài tập minh họa FlowLayout – JavaSwing

Bài giải: Tạo JFrame Form.
Sau khi đã tạo Form trong Design chuyển qua Source để code.

Kết quả hiển thị:Sau khi thu hẹp chiều rộng màn hình kết quả sẽ tự động được đẩy xuống dòng dưới.

Bài tập minh họa BoxLayout – JavaSwing
Bài giải: Tạo JFrame Form.Sau khi đã tạo Form trong Design chuyển qua Source để code.

Sắp xếp các đối tượng theo chiều ngang hay dọc phục thuộc vào đối số axis, X_AXIS sẽ sắp xếp theo chiều ngang, Y_AXIS là theo chiều dọc.
Kết quả hiển thị:Sau khi thu hẹp chiều rộng màn hình kết quả sẽ không tự động xuống dòng nếu như không đủ chỗ.Cho mình xin feedback của các bạn bên dưới phần comment để hoàn thiện nội dung bài viết này nhé. Cảm ơn các bạn đã xem!

Tác giả: Nguyễn Hoàng Phú Lợi (sinh viên năm 3, lớp 15DTH, khoa Công nghệ thông tin).

__ATA.cmd.push(function() {
__ATA.initVideoSlot(‘atatags-370373-6268baee4709c’, {
sectionId: ‘370373’,
format: ‘inread’
});
});

__ATA.cmd.push(function() {
__ATA.initDynamicSlot({
id: ‘atatags-26942-6268baee47146’,
location: 120,
formFactor: ‘001’,
label: {
text: ‘Advertisements’,
},
creative: {
reportAd: {
text: ‘Report this ad’,
},
privacySettings: {
text: ‘Privacy’,

}
}
});
});
Share this:Click to share on Twitter (Opens in new window)Click to share on Facebook (Opens in new window)Like this:Like Loading…

Related

#Lập #trình #Java #FlowLayout #BoxLayout #trong #JavaSwing
[rule_2_plain]
#Lập #trình #Java #FlowLayout #BoxLayout #trong #JavaSwing
[rule_2_plain]
#Lập #trình #Java #FlowLayout #BoxLayout #trong #JavaSwing
[rule_3_plain]

#Lập #trình #Java #FlowLayout #BoxLayout #trong #JavaSwing

JavaSwing
FlowLayout
BoxLayout

Khái niệm

là một cách sắp xếp các đối tượng trên một dòng, từ trái qua phải. Dùng FlowLayout khi muốn sắp xếp các đối tượng liên tiếp nhau trên một dòng.
Khi thay đổi kích thước làm chiều rộng của JFrame không đủ chứa các JButton trên thì chúng sẽ tự động được đẩy xuống dòng dưới (xem bài tập ví dụ cụ thể bên dưới).

Boxlayout là một Layout cho phép sắp xếp các control trên một hàng ngang hoặc trên một cột thẳng đứng.
Khi sắp xếp theo hàng ngang thì khác với FlowLayout, các control sẽ không tự động xuống dòng nếu như không đủ chỗ.

Các hàm khởi tạo

FlowLayout(): Khởi tạo FlowLayout với các đối tượng được căn lề mặc định là CENTER (căn giữa) và khoảng cách giữa các đối tượng theo chiều ngang và dọc mặc định là 5 đơn vị.
FlowLayout(int align): Tương tự như trên nhưng chỉ định vị trí căn lề như: CENTER, LEFT, RIGHT, LEADING, TRAILING và chỉ ra cách căn trái, phải tương đối theo sự sắp xếp của Container.
FlowLayout(int align, int hgap, int vgap): Với cách khởi tạo này chúng ta sẽ tự đặt cách căn lề và khoảng cách ngang (hgap), dọc (vgap) giữa các đối tượng.

Đầu tiên, cần khởi tạo Container (JPanel):
[JPanel panel = new JPanel(new LayoutManager());
Sau đó, khởi tạo BoxLayout:
BoxLayout(Container target, int axis): Tạo BoxLayout với cách bố trí là axis.
Và cuối cùng dùng hàm setLayout để đặt Layout cho JPanel.
Việc sắp xếp các đối tượng theo chiều ngang hay dọc phục thuộc vào đối số axis, X_AXIS sẽ sắp xếp theo chiều ngang, Y_AXIS là theo chiều dọc.

Bài tập minh họa FlowLayout – JavaSwing

Bài giải: Tạo JFrame Form.
Sau khi đã tạo Form trong Design chuyển qua Source để code.

Kết quả hiển thị:Sau khi thu hẹp chiều rộng màn hình kết quả sẽ tự động được đẩy xuống dòng dưới.

Bài tập minh họa BoxLayout – JavaSwing
Bài giải: Tạo JFrame Form.Sau khi đã tạo Form trong Design chuyển qua Source để code.

Sắp xếp các đối tượng theo chiều ngang hay dọc phục thuộc vào đối số axis, X_AXIS sẽ sắp xếp theo chiều ngang, Y_AXIS là theo chiều dọc.
Kết quả hiển thị:Sau khi thu hẹp chiều rộng màn hình kết quả sẽ không tự động xuống dòng nếu như không đủ chỗ.Cho mình xin feedback của các bạn bên dưới phần comment để hoàn thiện nội dung bài viết này nhé. Cảm ơn các bạn đã xem!

Tác giả: Nguyễn Hoàng Phú Lợi (sinh viên năm 3, lớp 15DTH, khoa Công nghệ thông tin).

__ATA.cmd.push(function() {
__ATA.initVideoSlot(‘atatags-370373-6268baee4709c’, {
sectionId: ‘370373’,
format: ‘inread’
});
});

__ATA.cmd.push(function() {
__ATA.initDynamicSlot({
id: ‘atatags-26942-6268baee47146’,
location: 120,
formFactor: ‘001’,
label: {
text: ‘Advertisements’,
},
creative: {
reportAd: {
text: ‘Report this ad’,
},
privacySettings: {
text: ‘Privacy’,

}
}
});
});
Share this:Click to share on Twitter (Opens in new window)Click to share on Facebook (Opens in new window)Like this:Like Loading…

Related