我刚开始在 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);
}
}
这是输出的样子:
这里是我想要“向东停靠”按钮的地方:
如果我使用的参数有误,我希望有人能告诉我应该如何让我的按钮停靠在面板的右侧。
谢谢!
最佳答案
您必须指定生长参数:
new MigLayout("", "[grow]", "[]")
请谨慎使用它 - 它可能不会像您想象的那样工作。这是一篇关于 MigLayout 功能的好文章 http://www.miglayout.com/QuickStart.pdf
关于java - MigLayout - 需要有关如何使用停靠参数的帮助(或需要替代方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641489/