2014-04-29 6 views
4
다음과 같이 I 버튼을 가운데 원하는

:하지만 수직,MigLayout 수직 중심 구성 요소

import java.awt.Dimension; 
import javax.swing.*; 
import net.miginfocom.swing.MigLayout; 

public class MigLayoutTest extends JFrame { 

    public static void main(String[] args) { 

     JPanel content = new JPanel(); 
     content.setLayout(new MigLayout("center, wrap, gapy 20")); 

     JButton buttonA = new JButton("button A"); 
     buttonA.setPreferredSize(new Dimension(100,30)); 
     JButton buttonB = new JButton("button B"); 
     buttonB.setPreferredSize(new Dimension(80,80)); 
     JButton buttonC = new JButton("button C"); 
     buttonC.setPreferredSize(new Dimension(300,40)); 
     JButton buttonD = new JButton("button D"); 
     buttonD.setPreferredSize(new Dimension(200,60)); 

     content.add(buttonA); 
     content.add(buttonB); 
     content.add(buttonC); 
     content.add(buttonD); 

     JFrame frame = new JFrame("MigLayout Test"); 
     frame.setContentPane(content); 
     frame.setSize(600, 400); 
     frame.setVisible(true); 
    } 

} 

버튼이 중앙에 배치됩니다 :

expected result

가 여기 내 코드입니다.

제안 사항? 미리 감사드립니다.

답변

5

백서 정확한 구문 정의

알/정렬 alignx는 [aligny]

함께가는 :

정렬은 UnitValue 또는 AlignKeyword으로 지정할 수

.

는 그래서, AlignKeyword을 두 축으로 전체 블록을 중심으로 사용하는 두 개의 매개 변수를 필요

new MigLayout("al center center, wrap, gapy 20"); // centers in both directions 

다음 문장 :

AlignKeyword은 "정렬"을 사용하는 경우 키워드를 생략 할 수 있습니다. 것

:

new MigLayout("center center, wrap, gapy 20"); // centers horizontally only 

그래도 작동하지 않습니다는 매개 변수를 구문 분석에 약간의 결함 것 같습니다.

+1

@MikaelGrev 당신은 역효과를 낳을 것입니다. 그러면 고칠 수 없습니다. kleopatra

+0

@kleopatra 고맙습니다. – hold3n

+0

@MikaelGrev MigLayout rlz : D – hold3n