java - 如何让 JLabel 和 JTextArea 对齐到屏幕的左上角而不是中心

标签 java user-interface jpanel gridbaglayout

public Panel(){
        setLayout(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();

    c.insets = new Insets(10,10,10,10);

    c.gridx = 0;
    c.gridy = 0;

    add(l1 , c);

    c.gridx = 1;
    c.gridy = 0;

    add(tf1 , c);

    c.gridx = 0;
    c.gridy = 1;

    add(l2 , c );

    c.gridx = 1;
    c.gridy = 1;

    add(tf2 , c);
}

目前的样子: enter image description here

如何将内容对齐到左上角?

最佳答案

使用 anchor ,它们是 GridBagConstraints 类的一部分,用于告诉 Java 组件去哪里。例如,如果您希望它们出现在左上角,您只需使用:

c.anchor = GridBagConstraints.LINE_START;

您还可以使用

c.anchor = GridBagConstraints.NORTHWEST;

虽然我更喜欢第一个。您可以阅读有关此内容的更多信息并查看所有可用选项 here参见 Oracle 文档。

还有一件事,如果你不给权重赋值, anchor 将不起作用。如果你没有像 Java 所说的那样指定一个值,所有组件都会聚集在中心。权重可以取 0 到 1 之间的值。例如:

c.weighty = 0.5;

关于java - 如何让 JLabel 和 JTextArea 对齐到屏幕的左上角而不是中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841214/

相关文章:

python - 默认文本以及列表 textvariable Entry widget Tkinter

android - 以编程方式检测 Android 屏幕覆盖

java - Android 项目中的红色感叹号 - 但它在我的苹果上运行良好

java - 在 AWS Lambda 中释放资源

java - WSIT 在使用自定义安全 header 请求后不理解 SOAP 安全 header

Java Swing : Graphic component only appears in top-left corner zone

java - 单击按钮时在 JPanel 中加载图像

java - scrollPane 无法获取滚动条

Python命令行用户界面

contentPanel 内的 Java Swing 调整大小面板