2014-12-13 7 views
0

그래서 상점 시스템을 만들고 다른 JPanel 안에 JPanel의 인스턴스를 배치하고 있습니다. JPanel 인스턴스를 정렬하여 한 줄에 세 개의 인스턴스가 있으므로 설명하는 방법을 모르겠습니다. 어쨌든 여기에 그림이 있습니다. 나는이와 인스턴스의 x와 y 축을 분리 시도했습니다다른 패널 인스턴스를 배치하는 JPanel

enter image description here

:

int posX = 5; 
int posY = 5; 
if(shopItemDisplayIteratorX == 0) { 
    posX = 5; 
    shopItemDisplayIteratorX++; 
} else if(shopItemDisplayIteratorX == 1) { 
    posX = 180; 
    shopItemDisplayIteratorX++; 
} else if(shopItemDisplayIteratorX == 2) { 
    posX = 355; 
    shopItemDisplayIteratorX = 0; 
} 
if(shopItemDisplayIteratorY == 0) { 
    posY = 5; 
    shopItemDisplayIteratorY++; 
} else if(shopItemDisplayIteratorY == 1) { 
    posY = 263; 
    shopItemDisplayIteratorY++; 
} else if(shopItemDisplayIteratorY == 2) { 
    posY = 521; 
    shopItemDisplayIteratorY = 0; 
} 

없음 코드의 가장 알아요,하지만 그것은 단지 테스트입니다. 이것은 작동하지 않습니다. 그림으로 볼 수 있듯이 패널의 인스턴스를 2 개만 배치합니다. 다른 3 개의 인스턴스를 건너 뛰는 것과 같습니다.

답변

0

GridLayout과 같은 레이아웃을 사용합니다. 예 :

yourParentPanel.setLayout(new GridLayout(1, 3)); 
//add your 3 components 

이렇게하면 구성 요소가 수평으로 정렬됩니다.

레이아웃에 관한 모든 내용은 here입니다.

+0

나는 그것을 시도했지만 적절하게 크기를 조정하지는 않았다. http://i.gyazo.com/c510e82016681a6dfe2197fe5c2d20ac.png –

+0

패널이 너무 작습니까? 상위 구성 요소가 기본 크기를 가지고 있습니까? 그렇다면 내부 패널의 크기가 제한됩니다. – Marv