2016-11-06 18 views
0

방금 ​​MigLayout을 사용하기 시작했습니다.MigLayout은 두 줄로 묶습니다

MigLayout의 퀵 스타트 가이드를 비롯하여 일부 문서를 읽었을뿐 아니라 몇 가지 SO 질문을 검색했지만 대답을 찾지 못했습니다. 내가 분명히 말하지만 분명히 말했듯이,이 레이아웃 관리자는 이번이 처음입니다.

내 MigLayout의 행 중 하나를 다른 행의 두 배로 만들려고합니다. 생산

public GameWindow() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setLayout(new MigLayout("fill")); 
    add(new PanelHud(), "grow, span 2, wrap"); 
    add(new PanelWorldView(), "grow"); 
    add(new PanelDetailView(), "grow, wrap"); 
    add(new PanelMenu(), "grow, span 2"); 
    pack(); 
    setVisible(true); 
} 

:

내 코드로 시작

좋은 시작하지만 중간 행으로 두 배 높이로 무엇 내가 원하는 것은 enter image description here

상단과 하단 행. 처음에 난 그냥 중간 요소가 두 행에 걸쳐 만들 수 있다고 생각하지만, 작동하지 않았다 : 그것은 중간 행과 같은

public GameWindow() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setLayout(new MigLayout("fill")); 
    add(new PanelHud(), "grow, span 2, wrap"); 
    add(new PanelWorldView(), "grow, span 1 2"); 
    add(new PanelDetailView(), "grow, span 1 2, wrap"); 
    add(new PanelMenu(), "grow, span 2"); 
    pack(); 
    setVisible(true); 
} 

enter image description here

참으로 올바른 크기지만, 아래 줄입니다 실향민이었습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

1

가능한 솔루션 3 개 (아마도 보드를 조금 넘었습니다). 당신이 세포에 레이아웃

setLayout(new MigLayout("fill, wrap 2")); 
add(new PanelHud(), "grow, span 2"); 
add(new PanelWorldView(), "grow, span 1 2"); 
add(new PanelDetailView(), "grow, span 1 2"); 
add(new PanelMenu(), "grow, span 2"); 

기반을 : : : 1의 비율이 2를 유지하는 것 같지 않지만

setLayout(new MigLayout("fill", "[][]", "[][][][]")); 
add(new PanelHud(), "grow, cell 0 0 2 1"); 
add(new PanelWorldView(), "grow, cell 0 1 1 2"); 
add(new PanelDetailView(), "grow, cell 1 1 1 2"); 
add(new PanelMenu(), "grow, cell 0 3 2 1"); 

사용 (무게를 성장

사용 자동 랩은 너무 miglayout 전체 행 자체 감지 작은 창 크기의 경우) :

setLayout(new MigLayout("fill", "[][]", "[grow 100][grow 200][grow 100]")); 
add(new PanelHud(), "grow, span 2, wrap"); 
add(new PanelWorldView(), "grow"); 
add(new PanelDetailView(), "grow, wrap"); 
add(new PanelMenu(), "grow, span 2");