在MigLayout中调整窗口大小时,列意外增长

时间:2013-01-02 09:07:14

标签: java swing miglayout

嗯,我对MigLayout很新,并且已经在白皮书和快速入门上阅读了它,但这还不够。我放置一个面板,在下面,我希望一个面板占据窗口的30%,其他部分,即, 70%。当窗口调整大小(最大化)时,组件会变得混乱。 代码如下:

    Mig_tmp1(){
    j=new JFrame("test");
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    j.setLayout(new MigLayout("debug,fill","[70px]5[:70:250,grow]","[:100:]10[fill,grow]"));

    one=new JPanel();
    one.setBackground(Color.red);
    two=new JPanel();
    two.setBackground(Color.ORANGE);
    three=new JPanel();
    three.setBackground(Color.BLUE);

    j.add(one,"wrap,span,grow");
    j.add(two,"grow");//,"w 40!");
    j.add(three,"grow");

    //j.pack();
    j.setSize(400, 600);
   j.setVisible(true); 
}

1 个答案:

答案 0 :(得分:0)

您可以使用grow XX指定组件在构造函数中应增长的百分比,其中XX是增长的百分比。

在你的例子中:

j.setLayout(new MigLayout("debug,fill", "[grow 70, fill]5[grow 30, fill]", "[:100:]10[fill,grow]"));

假设您希望橙色面板始终占据屏幕的70%,蓝色面板占据屏幕的30%。