gpt4 book ai didi

java - JLabel 未与 GridLayout 正确对齐

转载 作者:行者123 更新时间:2023-12-02 04:39:02 25 4
gpt4 key购买 nike

标签未与中心布局的左侧对齐。如果 GridLayout 不存在,则它会正确移动。有没有办法将 JLabel 移到最左边?

我尝试过 setHorizo​​ntalAlignment 和 setAlignmentX,但都不起作用

import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;

public class asd {
public static void main(String[] args){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JLabel lab = new JLabel("LABEL",SwingConstants.LEFT);
//lab.setHorizontalAlignment(SwingConstants.CENTER);
GridLayout grid = new GridLayout(3,3,2,1);
JPanel yourGrid = new JPanel(grid);
panel.add(lab);
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
JButton but = new JButton();
yourGrid.add(but);
}
}
panel.add(yourGrid);
frame.getContentPane().add(BorderLayout.CENTER,panel);
frame.setVisible(true);
frame.pack();
}
}

最佳答案

使用 BoxLayout 时,您必须设置内部任何元素的对齐方式。

如下示例: http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html

解决对齐问题

您必须设置与您的实验室和网格的对齐

lab.setHorizontalAlignment(SwingConstants.LEFT);
yourGrid.setAlignmentX(Component.LEFT_ALIGNMENT);

关于java - JLabel 未与 GridLayout 正确对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com