2014-12-30 8 views
0

개체를 다른 패널에 (서브) GridBagLayout으로 추가하는 프로젝트에서 작업하고 있습니다. 이 하위 패널과 같이, 레이아웃에 빈 자리를 떠나, 제거가 :이에 다른 패널을 추가 할 때GridBagLayout에서 빈 셀을 다시 채우기

, 내가 먼저 존재하는 빈 공간을 채우기 위해 싶은, 다음 계속 이미 그랬던 것처럼 순차적으로 채우고 있습니다.

빈 공간 하나를 사용하여이를 수행하는 방법을 알아낼 수 있습니다. 제거 된 객체의 XY 공동 ords를 유지하기 위해 ArrayList이 당신이 얻을 수있는

+0

사운드 트랙 세부 정보 구성 요소 사이의 '간격'이있는 스크린 샷은 나에게 이상하게 보입니다. 나는이 경우에 수평 랩을 허용하는'JList'를 대신 사용하는 것을 고려할 것이다. –

+0

BTW - 'GridBagCoordinates' DYM'GridBagConstraints'? –

+0

그룹이 제거 될 때마다 모든 구성 요소의 x/y 위치를 다시 조정해야합니다. – MadProgrammer

답변

1

는 전에 서브 패널을 제거 : 여기

내가 최고의 모습을 할 수있는 작업 (당신이 얻을 수있는 구성 요소에서 GridBagConstraints를 얻을?) GridBagLayout에의 방법

public GridBagConstraints getConstraints(Component comp) 

및 목록에 저장을 사용하여 제약 (의이 freeConstraintsList 그것을 이름을 보자).

추가 할 때 목록에서 자유로운 제약 조건을 가져와 사용하면 freeConstraintsList에서 사용 된 제약 조건을 제거하는 새 하위 패널을 추가 할 수 있습니다.

목록이 비어 있으면 새 제약 조건을 도입하십시오.

+0

나는 이것을 시도하고 내가 할 때 업데이트 할 것이다. 감사. – CarenRose

+0

작동합니다. 고맙습니다. – CarenRose