2011-12-28 29 views

Trả lời

10

Một vài JLabel nhà xây dựng một vài tham số liên kết ngang. Các số constants này được kế thừa từ SwingConstants.

+0

Vâng, đúng vậy. Nhưng giả sử tôi có 100 JLabels. Khi tôi căn chỉnh chúng với constructor, và quyết định thay đổi để căn trái, tôi sẽ phải làm điều đó một trăm lần bằng tay. Có cách nào, để sắp xếp tất cả chúng với một động thái từ cấp quản lý bố cục? –

+0

Nếu bạn không sẵn sàng để đóng gói logic như vậy, sử dụng [ 'setAlignmentY'] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setAlignmentY%28float%29) phương pháp. Đó là cách một vùng chứa có thể đặt căn chỉnh theo chiều ngang của bất kỳ cá thể 'JComponent' nào (ví dụ:' JLabel'). – mre

+0

@Noran bạn có thể tạo lớp hoặc làm mất hiệu lực với các thông số trả về JLabel, bạn có thể sử dụng SwingConstant, JLabel # vị thế của mình, hoặc bằng cách sử dụng Html <= 3.2 1 – mKorbel

22

@Noran Đáp lại bình luận của bạn về câu trả lời @ GDNCBM, bạn có thể khởi tạo tất cả các JLabels vào một mảng. Sau đó, tất cả những gì bạn phải làm là lặp qua mảng và thiết lập căn chỉnh theo cách đó.

for (JLabel label: arrayOfJLabels) { 
    label.setHorizontalAlignment(SwingConstants.LEFT); 
} 
+0

này nên là câu trả lời đúng. –

1

Tôi đã đọc câu hỏi của bạn và tôi có đề xuất. Có một vài phương pháp để đáp ứng yêu cầu của bạn. Vì bạn đã không đề cập đến yêu cầu chính xác, tôi có thể cung cấp cho bạn một ví dụ đơn giản như tôi hiểu nó:

//create a JLabel and name it as jLabel2 
javax.swing.JLabel jLabel2 = new javax.swing.JLabel(); 
jLabel2.setText("Dehans Label"); 
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); 

Vui lòng tham khảo các phương pháp @JLabel lớp trong JavaSE API sau thông qua liên kết sau:

+0

Tốt nhất là liên kết tới phiên bản JavaDocs mới nhất. Tôi đã chỉnh sửa câu trả lời của bạn để trỏ đến J2SE 7. Đối với lời khuyên về nhận được một liên kết đến các tài liệu mới nhất, xem [điểm 2 lợi thế] (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) . –

Các vấn đề liên quan