2012-10-04 107 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()',看到我更新。 –

相關問題