В приведенном ниже коде, позвонив по телефону setAlignmentX
с Component.LEFT_ALIGNMENT
Я ожидал получить выровненную слева метку над центрированным слайдером. По какой-то причине метка также имеет центр, по-видимому, независимо от того, какое значение передается setAlignmentX.Java Swing BoxLayout игнорирование AlignmentX
Какое значение необходимо передать setAlignmentX, чтобы его совпадение осталось?
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);
}
});
}
}
Я читал эту страницу, но я думал, что ползунок «не было» выравнивание. Каков наилучший способ обеспечить такое выравнивание для всех компонентов? – Mizipzor
Неинтуитивный будет преуменьшением дня. Но, по крайней мере, сейчас я работаю. Благодаря! :) – Mizipzor