这是我的 JPanel 类。我里面有BoxLayout,只添加了一个JLabel。我的 JLabel 位于屏幕左侧。有没有办法将 BoxLayout 中的所有组件对齐到中心。我尝试了这个:setAlignmentX(CENTER_ALIGNMENT);但它不起作用
public class MainPanel extends JPanel
{
// This layout we will use as our base layout.
private BoxLayout mainLayout = new BoxLayout(this, BoxLayout.Y_AXIS);
// This we will use to control padding in our main panel
EmptyBorder mainBorder = new EmptyBorder(10, 10, 10, 10);
private JLabel title = new JLabel("Podesavanja");
public MainPanel()
{
setLayout(mainLayout);
setBackground(Color.GRAY);
setAlignmentY(CENTER_ALIGNMENT);
// Setting padding
setBorder(mainBorder);
add(title);
}
// Dodajemo sve Ostale panele u ovu main panelu
public static void addPanel(JPanel panel)
{
addPanel(panel);
}
}
最佳答案
首先,您调用 setAlignmentY()
而不是 setAlignmentX()
。其次,您在面板上调用它,而不是在 JLabel 上调用它。
修复这两个错误,标签将居中。
关于java - 如何在 JPanel 中设置布局的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351824/