2012-11-14 3 views
0

JFrame이 있고 많은 컨트롤이 있습니다. 이 프레임을 여러 번 호출하고 때로는 컨트롤 중 일부를 숨겨야합니다. 컨트롤을 숨기면 숨겨진 다른 컨트롤의 위치가 자동으로 변경됩니다. 이 동작을 피하고 싶습니다. 이 점에 대해 도움을주십시오.JFrame의 일부 컨트롤을 숨길 때 컨트롤의 위치가 변경됩니다.

pnlRec.setVisible(true); 
    btnNew.setVisible(false); 
+1

코드를 전달하기 위해 간단한 코드 조각을 추가하십시오. 30 줄을 초과 할 필요는 없으며 모든 코드를 자체적으로 컴파일해야합니다. 문제 범위를 좁히고 공식적인 [SSCCE] (http://sscce.org)를 제공하여 도움을 줄 수있는 방법입니다. – Makoto

+1

이것은 많은 레이아웃 관리자의 기본 동작입니다. @MadProgrammer로서 – MadProgrammer

+0

을 참조 할 수 있도록 레이아웃에 대한 자세한 내용을 제공해야 할 필요가 있으므로 레이아웃을 컨트롤에 추가하는 대신 각 컨트롤에 별도의 레이아웃을 사용하여 원하는 동작을 얻을 수 있습니다. – Thinhbk

답변

3

나는 CardLayout 기반으로하는 솔루션을 제안합니다. 모든 구성 요소를 JPanel에 숨기려면 CardLayout으로 놓습니다. 각 패널에는 원래 구성 요소와 빈 패널 인 2 장의 카드가 있어야합니다. 구성 요소를 숨기는 대신 빈 카드 패널을 나타내는 카드를 교체하십시오.

레이아웃을 동일하게 유지해야합니다.

관련 문제