Tôi cần định vị một JLabel qua một số JButton, theo chiều dọc, giống như một menu trò chơi. Tất cả chúng nên được căn giữa. Tôi đã tải về MigLayout, nhưng tôi không chắc chắn làm thế nào để sử dụng đó, vì vậy tôi chỉ muốn một cách để vị trí các thành phần của tôi theo chiều dọc và trung tâm, MigLayout hay không. Ngoài ra, tôi không muốn sử dụng một nhà thiết kế IDE GUI.Bố cục dọc Java?
10
A
Trả lời
22
Bạn có thể sử dụng một (một cột) GridLayout
hoặc BoxLayout
cho việc này. Xem Using Layout Managers & A Visual Guide to Layout Managers để biết thêm mẹo, ý tưởng và nguồn làm việc.
1
Bạn nên sử dụng BoxLayout
. Dưới đây là một ví dụ cơ bản
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class VerticalPanel extends JPanel {
public VerticalPanel() {
super();
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
for (int i = 0; i < 10; i++) {
add(new JLabel("Label n°" + i));
}
}
}
* "Tôi không muốn sử dụng trình thiết kế IDE GUI" * +1 :) * Nhà thiết kế có thể * tăng năng suất cho nhà phát triển đã hiểu bố cục và cách kết hợp chúng. Cho đến khi bạn trở nên thành thạo trong các bố cục J2SE cốt lõi (+ có lẽ là một bố cục bên thứ 3 hoặc 3) nó ít hữu ích hơn khi cố gắng thiết kế GUI trong khi chiến đấu với nhà thiết kế GUI. –
Vấn đề là, tôi đã viết tất cả các công cụ GUI của tôi bằng tay (ngoại trừ điều này), và tôi không muốn sửa đổi nó sẽ cung cấp một lợi ích lớn. – Jimmt