我刚开始在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);
}
}
这是输出的样子:
这就是我想要“码头东”按钮的地方:
如果我使用错误的参数,我会喜欢它,如果有人能告诉我我应该如何让我的按钮停靠在面板的右侧。
谢谢!
答案 0 :(得分:4)
您必须指定增长参数:
new MigLayout("", "[grow]", "[]")
虽然你如何使用它但要小心 - 它可能不像你想象的那样工作。以下是关于MigLayout功能http://www.miglayout.com/QuickStart.pdf
的详细介绍