Trong mã bên dưới, bằng cách gọi setAlignmentX
với Component.LEFT_ALIGNMENT
Tôi dự kiến sẽ nhận được nhãn căn trái trên thanh trượt ở giữa. Vì một số lý do, nhãn cũng được căn giữa, dường như bất kể giá trị nào được chuyển tới setAlignmentX.Java Swing BoxLayout bỏ qua AlignmentX
Tôi phải chuyển giá trị nào đến setAlignmentX để căn chỉnh bên trái?
package myjava;
import java.awt.Component;
import java.awt.Container;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;
public class LayoutTest {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("BoxLayoutDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// create left aligned label over centered column
Container contentPane = frame.getContentPane();
contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
JLabel label = new JLabel("test");
label.setAlignmentX(Component.LEFT_ALIGNMENT);
contentPane.add(label);
contentPane.add(new JSlider());
frame.pack();
frame.setVisible(true);
}
});
}
}
Tôi đọc trang đó nhưng tôi nghĩ rằng thanh trượt "không có" một sự liên kết. Whats cách tốt nhất để thực thi cùng một liên kết trên tất cả các thành phần là gì? – Mizipzor
Unintuitive sẽ là understatement trong ngày. Nhưng ít nhất tôi có nó làm việc ngay bây giờ. Cảm ơn! :) – Mizipzor