为了账号安全,请及时绑定邮箱和手机立即绑定

想问个简单的问题来理解一下这种布局方式~!

想问个简单的问题来理解一下这种布局方式~!

慕无忌1623718 2022-10-27 19:15:18
向一个GroupLayout布局的面板添加两个标签,要求两个标签大小一样,上下排列,并且左边对齐,代码应该怎么写呢?
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

也是第一次接触,了解不深,在API文档上看了下,在swing包里~
下面是API的一段代码,参考下:
import java.awt.*;

import javax.swing.*;
import javax.swing.GroupLayout.Alignment;

public class TestGroupLayout {

/**
* @param args
*/
public static void main(String[] args) {

Frame f = new Frame();
f.setBounds(200,200,200,100);
Panel panel = new Panel();
GroupLayout layout = new GroupLayout(panel);
panel.setLayout(layout);

layout.setAutoCreateGaps(true);

layout.setAutoCreateContainerGaps(true);

GroupLayout.SequentialGroup hGroup = layout.createSequentialGroup();

Label label1 = new Label("username");
Label label2 = new Label("password");
TextField tf1 = new TextField();
TextField tf2 = new TextField();

hGroup.addGroup(layout.createParallelGroup().
addComponent(label1).addComponent(label2));
hGroup.addGroup(layout.createParallelGroup().
addComponent(tf1).addComponent(tf2));
layout.setHorizontalGroup(hGroup);

GroupLayout.SequentialGroup vGroup = layout.createSequentialGroup();

vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(label1).addComponent(tf1));
vGroup.addGroup(layout.createParallelGroup(Alignment.BASELINE).
addComponent(label2).addComponent(tf2));
layout.setVerticalGroup(vGroup);

f.add(panel);
f.setVisible(true);
}

}


查看完整回答
反对 回复 2022-11-01
?
慕标5832272

TA贡献1966条经验 获得超4个赞

- -!既然不常见就是用得不多,GridBagLayout几乎可以满足你所有的布局方式了

查看完整回答
反对 回复 2022-11-01
  • 2 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号