2010-04-09 1 views
4

스팬 행 내부에 두 가지 요소를 중심으로 MigLayout 스윙 : 자바는 다음과 같이, 내가 3 열 4 행으로 MigLayout 양식에서 일하고 있어요

"wrap 3", 
"[15%] 15px [45%] 15px [40%]", 
"20 [] 15 [] 15 [grow,fill] 15 []" 

지금 내 목표는

그것을 같이 가지고 :

.------------------------------------. 
| 15% |  45%  |  40%  | 
|------------------------------------| 
|  |    |    | 
|------------------------------------| 
|  |    |    | 
|------------------------------------| 
|   button,button   | 
`------------------------------------´ 

나는 중심의 마지막 행에있는 버튼을 원하는, 그래서 나는 처음에는 버튼의 "span 3, center" 구성 요소 제약 조건 하나에 4 행의 3 열 걸쳐해야한다고 가정.

이것은 하나의 버튼으로 잘 작동하지만 두 버튼을 동시에 같은 행의 가운데에 두면서 두 번째 버튼을 추가하는 방법에 문제가 있습니다. 두 번째 버튼에 동일한 제약 조건을 추가하면 다음 행의 첫 번째 버튼 아래에 완벽하게 가운데가 표시됩니다.

답변

4

솔루션은 동시에 분할에 걸쳐하는 것입니다 :

이 effectly "모든"을 의미하는 높은 숫자로 카운트 기본값이없는 범위 :

panel.add(firstButton, "span, split 2, center"); 
panel.add(secondButton); 

을 제외 : 분할은 스팬 셀에 살아야 구성 요소의 수를 정의

+0

@mKorbel 예, 머리를 주셔서 감사합니다 :-) 그리고 미래의 실수를 편집 해주십시오. – kleopatra

2

그것은 이상적인 건 아니지만, 당신은 그 둥지를 새로운 JPanel의에 두 개의 버튼을 추가 할 수있는 "스팬 3, 센터"나는 다른 방법을 생각하기 위해 사투를 벌인거야

를 사용하여 기존의 레이아웃 내부가 JPanel의 .

+0

이렇게 코딩이 끝났습니다. 충분히 간단합니다. MigLayout 어딘가에서 컨테이너 패널없이이 작업을 수행하는 방법이 될 수 있다고 생각합니다. :) – Fuu

0
두 오른쪽에 상자와 같이 중간에 성장 또는 버튼을 누르면됩니다 왼쪽 측면에 넣어 시도 할 수

:

pane.setLayout(new MigLayout("fill")); 
pane.add(Box.createHorizontalBox(), "push"); 
pane.add(new JButton("asdf")); 
pane.add(new JButton("zxcv")); 
pane.add(Box.createHorizontalBox(), "push,wrap"); 
관련 문제