java flowlayout 左对齐_java – FlowLayout的顶部对齐

我意识到这个问题是在一年前被问到的,但像我一样,我认为很多人会在这个论坛帖子中绊倒,并试图做出一个在bug报告中提出的解决方法(不能为我工作).

无论哪种方式,JDK 1.6都有一个更好的答案. Flowlayout有以下方法:

public void setAlignOnBaseline(boolean alignOnBaseline)

如果您在flowlayout上使用此方法并将其设置为true,那么当flowlayout显示组件时,它将检查每个组件的基线并使组件沿该基准对齐.

但这不是你需要做的所有事情.

所涉及的组件必须以这种方式覆盖以下两种方法:

@Override

public Component.BaselineResizeBehavior getBaselineResizeBehavior() {

return Component.BaselineResizeBehavior.CONSTANT_ASCENT;

}

@Override

public int getBaseline(int width,int height) {

return 0;

}

它们是JComponent中的方法,布局和布局管理器使用这些方法来确定如何布局组件.

如果您采取上述步骤,所有组件将沿着每行顶部对齐.当然,如果您只想使用像JButton这样的组件,您将显然必须扩展它以达到所需的目标…但是,它并没有像重写layoutcontainer一样需要调试的解决方法.至少我是这样想的.

祝你好运,-Asaf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值