2012-10-04 112 views
0

我希望WESTEAST布局的分数是不变的宽度。如何设置MigLayout请举个简单的例子来说明如何用MigLayout模拟BorderLayout?

UPDATE

下面的代码并不像调整边界布局:

package testing.Test_MigLayout_01; 

import javax.swing.JButton; 
import javax.swing.JRootPane; 
import javax.swing.SwingUtilities; 

import net.miginfocom.swing.MigLayout; 

public class App201210042244 
{ 

private class JFrame extends javax.swing.JFrame { 

    { 
     setLayout(new MigLayout()); 

     add(new JButton("1"), "dock east, width 120"); 
     add(new JButton("2"), "west"); 
     add(new JButton("3"), "center"); 
     add(new JButton("4"), "north"); 
     add(new JButton("5"), "south"); 

    } 

} 

public App201210042244() { 
    SwingUtilities.invokeLater(new Runnable() { 

      public void run() { 
       JFrame jFrame = new JFrame(); 
       jFrame.pack(); 
       jFrame.setVisible(true); 

      } 
     }); 
} 


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

窗口内部的大小保持不变:

enter image description here

回答

3
panel.add(new JButton("1"), "dock east, width 120"); 
panel.add(new JButton("2"), "west"); 
panel.add(new JButton("3"), "center"); 
panel.add(new JButton("4"), "north"); 
panel.add(new JButton("5"), "south"); 

ŧ他码头关键字可以省略。

UPDATE:

如果您想在窗口大小所有您的组件扩展:

panel.setLayout(new MigLayout("fill")); 
panel.add(new JButton("1"), "dock east, width 120"); 
panel.add(new JButton("2"), "west"); 
panel.add(new JButton("3"), "center, grow"); 
panel.add(new JButton("4"), "north"); 
panel.add(new JButton("5"), "south"); 
+0

这并不像调整'BorderLyout()',看到我更新。 –

相关问题