프로그래밍 연습을 위해 JSplitPane을 사용하여 오른쪽에 프랙탈 프랙탈 렌더링을하고 왼쪽에 다른 쓰레기를 표시합니다. 그러나, 나는 매우 이상한 문제를 보았습니다. 왼쪽 요소는 완전히 괜찮지 만 오른쪽 요소도 항상 왼쪽 정렬됩니다. 제가 말할 수있는 한, 오른쪽 요소는 화면의 오른쪽 부분의 크기가 주어 지지만, 왼쪽 요소는 항상 맨 위에 있고, 항상 왼쪽 요소는 그 위에 있습니다. 무엇이든 나는 내가 JSplitPane를 구축하고 (setLeftComponent 및 setRightComponent 등을 사용) 그것에 구성 요소를 추가하는 여러 가지 방법을 시도했습니다Java Swing : JSplitPane의 오른쪽 요소 정렬
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true);
splitPane.add(sidebar, JSplitPane.LEFT);
splitPane.add(fractalWindow, JSplitPane.RIGHT);
frame.add(splitPane);
:하지만,
내가있는 JSplitPane를 작성하고 추가 요소를 다음과 같이 그렇지 않으면 두 구성 요소가 항상 왼쪽 정렬됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?
EDIT : 사이드 바는 JPanel이고, fractalWindow는 JPanel의 서브 클래스입니다. 다른 JPanel에 fractalWindow를 추가하고 splitPane에 추가하려고 시도했지만 오른쪽 구성 요소가 전혀 그려지지 않았습니다. JFrame 프레임의 레이아웃을 지정하지 않았습니다.
편집 2 : 해결되었습니다. 내 Fractal
클래스는 getX()
및 getY()
메서드를 사용하고 있었고 이러한 메서드를 재정의했다는 것을 알지 못했습니다. 일반적으로 JPanel은 항상 0을 반환하므로 JPanel은 항상 부모 구성 요소의 왼쪽 위 모서리에 배치됩니다.
이것은 아마도 내 대답을 테스트 한 'fractalWindow'의 LayoutManager –
으로 인한 것입니까? – ItamarG3
1) 더 나은 도움을 받으려면 [MCVE] 또는 [Short, Self Contained, Correct Example] (http://www.sscce.org/)를 게시하십시오. 2) ASCII 아트 또는 GUI의 * 의도 된 * 레이아웃의 간단한 그림을 최소한의 크기로 제공하고 크기를 조정할 수 있으면 더 많은 너비와 높이를 제공하십시오. –