2016-12-23 10 views
0

오른쪽 패널에 Jpanel 두 개를 추가해야합니다. 필요에 따라 JsplitPane을 추가하려고했습니다.JSplitPanel 내의 Jpanel의 SIZE

그렇게 Jpanelpanel1 내부에 두 개의 패널을 추가하는 것보다 오른쪽 패널에 panel1 말하고 BoxLayout.Y-AXIS을 설정하고 내가 먼저 추가됩니다했었다.

이제 두 개의 패널 첫 번째 패널에 BoxLayout이 있고이 패널의 너비는 panel1이 되길 원합니다.하지만 할 수 없습니다.

누구나 어떻게 할 수 있습니까?

+0

은 또한 당신이 직접 시도 무엇으로 코드를 공유, 귀하의 요구 사항 초안을 작성하는 간단한 페인트 응용 프로그램을 사용 : 아직도 당신은 오라클이 된 글을 볼 수있다. – Arvind

+0

[예] (http://stackoverflow.com/a/10110232/230513). – trashgod

답변

1

내 project.Requirement에 JsplitPane를 추가하려고했던 것은 내가 JSplitPane의 오른쪽 패널 내부에 두 개의 Jpanel을 추가 이 필요하다.

JSplitPane를 사용하여, 우리는 두 개의 구성 요소가 왼쪽과 오른쪽 또는 상부 및 하부 말에 창을 분할 있음을 유의하십시오. 따라서 JSplitPane의 한면에 두 개 이상의 구성 요소를 추가하려는 경우 오른쪽이라고 말하면 중첩 분할 창을 사용하는 것이 좋습니다. 즉, 분할 창 안에 분할 창을 만드는 것입니다. 내가 처음 Jpanel 추가됩니다했던 그래서

panel1 내부에 두 개의 패널을 추가하는 것보다 오른쪽 패널 에 panel1 말하고 BoxLayout.Y-AXIS을 설정합니다.

이제 두 개의 패널 첫 번째 패널에 BoxLayout하고 난 panel1의 크기로이 패널의 폭 를 원하지만 내가 그것을 할 수 없습니다입니다. 당신이 중첩 분할 창]를 사용하는 경우

, 당신은 panel1로 말을 추가 부모 JPanel을 만들 필요가 없습니다 수 있습니다. 실제로 Split Pane은 창을 두 개의 세그먼트로 나눕니다. 따라서 중첩 분할 창을 사용하여 새로 만든 분할 창을 panel1으로 생성하는 대신 다른 하위 패널을 중첩 된 새 JSplitPane으로 만든 두 개의 창 안에 넣습니다. 따라서 크기 문제에 대해서 생각할 필요가 없습니다. 내가 당신을 분명하게 할 수 있었으면 좋겠다. 그리고 그것은 당신의 문제를 해결했다.

간단한 방법은 달성 것을 사용하여 :

선언 : 생성자

private JSplitPane jSplitPane1; 
private JSplitPane jSplitPane2; 
private JPanel jPanel1; 
private JPanel jPanel2; 

:

jSplitPane1 = new JSplitPane(); 
jSplitPane2 = new JSplitPane(); 

jSplitPane1.setOrientation(JSplitPane.HORIZONTAL_SPLIT); 
jSplitPane1.setRightComponent(jSplitPane2); 
jSplitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT); 

jSplitPane1.setTopComponent(jPanel1); 
jSplitPane1.setBottomComponent(jPanel2); 

상술 한 방법으로 간단 당신이 원하는 것을 얻을 수 있습니다. 그러나 분할 창을 중첩하지 않으면 다중 분할 창을 사용하는 것이 편리 할 수 ​​있습니다.

https://community.oracle.com/docs/DOC-983539

+1

감사합니다 @Rakibul 이슬람교 ... 이것은 유용합니다 – nik123