MigLayout - 需要有关如何使用dock参数的帮助(或需要替代)

时间:2011-07-10 13:56:28

标签: java swing layout miglayout

我刚开始在Java中使用MigLayout for SWING,到目前为止我真的很喜欢它。但唯一的问题是,底座参数似乎不像我认为的那样工作,我无法弄清楚我做错了什么。

问题是:我正在尝试在JPanel中添加一个JButton,并使用 panel.add(button,“east”); 将它对接到右侧。虽然它实际上使它成为最右边的组件,但它仍然只占用与flowLayout相同的空间。我想要它做的是坚持面板的右侧。

以下是一些重新编写问题的可编译代码:

public class MigLayoutTest extends JFrame
{
  public MigLayoutTest()
  {
    setSize(500,500);

    JPanel panel = new JPanel(new MigLayout());
    panel.setBackground(Color.YELLOW);
    setContentPane(panel);
    panel.setSize(500,500);
    panel.add(new JButton("Dock east"), "east");
    panel.add(new JButton("No dock"));
  }

  public static void main(String[] args)
  {
    JFrame frame = new MigLayoutTest();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

这是输出的样子: MigLayoutTest result

这就是我想要“码头东”按钮的地方: MigLayoutTest expected result

如果我使用错误的参数,我会喜欢它,如果有人能告诉我我应该如何让我的按钮停靠在面板的右侧。

谢谢!

1 个答案:

答案 0 :(得分:4)

您必须指定增长参数

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

虽然你如何使用它但要小心 - 它可能不像你想象的那样工作。以下是关于MigLayout功能http://www.miglayout.com/QuickStart.pdf

的详细介绍