2012-10-04 3 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"); 

T 그는 도크 키워드를 생략 할 수 있습니다.

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()가'내 업데이 트를 참조하십시오. –