일부 디자인의 경우, 2 개의 패널에 Java UI 구성 요소가 있어야합니다. 다만, 모든 JComponent에는 부모가 1 개 밖에없는 것으로 보입니다. 따라서 제 질문은 다음과 같습니다. 구성 요소를 동시에 두 패널 이상으로 만들 수있는 트릭이 있습니까?Java Swing : 2 가지 다른 패널에 컴포넌트를 배치하는 방법은 무엇입니까?
나는이 게시물에 내가 갖고 싶은 표현을 첨부합니다.
일부 디자인의 경우, 2 개의 패널에 Java UI 구성 요소가 있어야합니다. 다만, 모든 JComponent에는 부모가 1 개 밖에없는 것으로 보입니다. 따라서 제 질문은 다음과 같습니다. 구성 요소를 동시에 두 패널 이상으로 만들 수있는 트릭이 있습니까?Java Swing : 2 가지 다른 패널에 컴포넌트를 배치하는 방법은 무엇입니까?
나는이 게시물에 내가 갖고 싶은 표현을 첨부합니다.
당신이 패널에 대한 repaint
방법을 덮어 쓰기 어떤 패널에 구성 요소를 추가하지 않을 경우 그것은 가능하지만,이 솔루션은 너무 복잡합니다.
구성 요소는 하나의 패널에만 속할 수 있습니다. 레이아웃 관리자
https://docs.oracle.com/javase/tutorial/uiswing/layout/none.html
및
2 OverlayLayout에없이
1 :
당신은 레이아웃이 두 가지 옵션이 세 가지 요소를 포함 세 번째 패널을 사용할 수 있습니다 레이아웃https://docs.oracle.com/javase/8/docs/api/javax/swing/OverlayLayout.html
에서 제안 된 방법 중 하나를 선택하십시오.이 솔루션에 대해 생각했습니다. 그렇다면 : 요소 중 하나 ("JComponent")를 다른 요소 위에 놓는 방법? "Z 색인"또는 그와 비슷한 것이 없습니다 ... – user1943797
주문 (z- 색인이라고 함)은 요소가 컨테이너에 추가되는 순서에 따라 부여됩니다. –
* 레이아웃 관리자 없음 * NOOOOOOOOOO !!!!!!!!!!!!! 'null-layout '의 사용을 권장하지 마십시오. [null layout is evil] (http://www.leepoint.net/GUI/layouts/nulllayout.html) 및 [이 질문에 대한 답변] (http : // stackoverflow.com/questions/6592468/why-it-frowned-on-use-null-layout-in-swing)을 사용하면 왜 나쁜 습관인지 알 수 있으므로 권장하지 마시기 바랍니다. – Frakcool
마찬가지로 y 각 구성 요소에는 정확히 하나의 부모가 있어야합니다. 따라서 JPanel 1, JPanel 2 및 JComponent를 공통 컨테이너에 추가해야합니다.
JPanel 1 및 JPanel 2를 BorderLayout 또는 GridLayout과 함께 다른 JPanel에 추가 한 다음 JPanel 및 오버레이 JComponent를 또 다른 JPanel에 추가하고 사용자 정의 레이아웃 관리자를 사용하는 것이 좋습니다.
인터페이스 LayoutManager
을 살펴보면 컨테이너의 구성 요소 경계와 위치를 정렬합니다. 자신이 원하는 것을 알고 있다고 가정하면 실제로 구현하기가 어렵지 않습니다. 이 특정의 경우, JComponent는 2 개의 JPanel 컴퍼넌트에 대해서 배치 할 수 있습니다. 이것들은 명시 적으로 LayoutManager
구현에 건네 줄 수가 있습니다.
이것은 매우 구체적인 해결책이지만, LayoutManager
대신 LayoutManager2
을 사용하여 일반화 할 수도 있습니다. LayoutManager2
을 사용하면 구성 요소를 배치 할 제약 조건 객체를 사용할 수 있습니다. 각 제약 조건은 구성 요소의 레이아웃을 설명하는 일반 Java 객체입니다. 사용 된 구현 LayoutManager2
에만 해당됩니다.
* "일부 디자인의 경우 2 개의 패널에 Java UI 구성 요소가 있어야합니다."*이 특별한 요구 사항이있는 정확한 '디자인 용도'에 대해 구체적으로 설명하십시오. ASCII 아트 또는 * 의도 된 * (** 완료 ** - 모든 컨테이너를 무시하지만 모든 구성 요소를 표시하는) 레이아웃의 간단한 그림을 최소 크기에서 GUI의 레이아웃으로 제공하고 크기를 조정할 수 있으면 더 많은 너비와 높이를 제공하십시오. –
[* 다른 사람 위에 구성 요소를 배치하는 방법?] (http://stackoverflow.com/q/14675914/230513) – trashgod