gpt4 book ai didi

java - MigLayout:如何*垂直*对齐扩展坞内的多个组件?

转载 作者:行者123 更新时间:2023-12-02 08:53:21 24 4
gpt4 key购买 nike

MigLayout 支持将多个组件添加到停靠栏。我想向西 jetty 添加多个组件,从上到下。但是,MigLayout 似乎只能管理停靠区内的水平布局。我尝试了很多参数(例如,wrap、growy、flowy)但没有成功。

那么,是否有可能在 jetty 内包裹或设置垂直流?或者这对于 MigLayout 本身来说是不可能的,而只能通过使用额外的侧面板组件来实现?

这是西 jetty 内不需要的水平布局的示例:

example of unwanted horizontal layout inside west dock

如何获得彼此下方的红、绿、蓝分量?这是代码:

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JTextField;

import net.miginfocom.swing.MigLayout;

public class MigTest extends JFrame {

MigTest() {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(800, 600);

setLayout(new MigLayout("fill"));

JTextField dockW1 = new JTextField("West 1"); dockW1.setBackground(Color.red);
JTextField dockW2 = new JTextField("West 2"); dockW2.setBackground(Color.green);
JTextField dockW3 = new JTextField("West 3"); dockW3.setBackground(Color.blue);
JTextField center = new JTextField("Center"); center.setBackground(Color.lightGray);

add(center, "grow");

// HOW TO LAYOUT THESE COMPONENTS VERTICALLY INSIDE WEST DOCK ?
add(dockW1, "dock west, wrap, growy, flowy");
add(dockW2, "dock west, wrap, growy, flowy");
add(dockW3, "dock west, wrap, growy, flowy");

setVisible(true);
}

public static void main(String[] args) {
new MigTest();
}
}

[编辑]:请注意,我不想放置 dockW1dockW2dockW3center 到单个网格中,因为我计划在中心区域应用复杂的布局,独立于侧面区域,这就是发明对接功能的原因:)

最佳答案

我的第一个建议是将 MigLayout 的构造函数更改为

new MigLayout("fill","[][grow]","[][][]")

然后将添加语句更改为:

 add(center, "cell 1 0 1 3, grow");
add(dockW1, "cell 0 0");
add(dockW2, "cell 0 1");
add(dockW3, "cell 0 2");

编辑

编辑问题后,我建议您创建一个新的 JPanel 对象,例如 dockWest 并添加组件 dockW1dockW2dockW3dockWest,最后将 dockWest 停靠在当前 JFrame 的西边像:

JPanel dockWest = new JPanel();
dockWest.setLayout(new MigLayout("fill", "[]", "[grow][grow][grow]");
dockWest.add(dockW1, "cell 0 0");
dockWest.add(dockW2, "cell 0 1");
dockWest.add(dockW3, "cell 0 2");

add(dockWest, "dock west, growy");

关于java - MigLayout:如何*垂直*对齐扩展坞内的多个组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30351204/

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