JSplitpane 에서 양면 패널 비율 지정..
세라
스플릿페인을 좌우로 나눠서 각각 새로운 jpanel 을 지정하였습니다.
여기서 한쪽 패널을 화면너비에서 퍼센티지로 지정하는 방법은 없나요?private JSplitPane spp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, leftPanel, rightPanel);
spp.setDividerLocation(200);
이렇게 하면 직접 화면에 200 이라는 픽셀값을 입력하여 해상도가 1280*1024 인 컴과 800*600 인 경우 두 경우가 있다하면.....
좌측 패널의 너비가 차지하는 비율이 서로 달라보이게 될건데...
그냥 픽셀값 지정 말고 퍼센티지로 지정하는 방법은 없는지 궁금합니다.
-
멱부리 2025-09-02
와우... 신기하네요. 대충 보고 그냥 넘겨버린 메소드였는데.... 감사드립니다^^;
-
DevilsTears 2025-09-02
음.. 비슷한 증상이 나타나는 군여 ^^
20%를 적용하실경우는 spp.setResizeWeight(0.2D); 와 같이 적용해보세요 -
헛나발 2025-09-02
확인해볼께여
-
푸른들 2025-09-02
class frameClass extends JFrame{
private Container con;
private JPanel leftPanel = new JPanel(null);
private JPanel rightPanel = new JPanel(null);
private JSplitPane spp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, leftPanel, rightPanel);
pub -
Elfin 2025-09-02
소스를 부분적으로 한번 올려보시겠어요?
-
늘봄 2025-09-02
제 생각인데... spp가 추가되어있는 container 의 레이아웃이 보더레이아웃이어서 그런것과 관련이 있지 않을까요?
private Container con;
con = this.getContenePane();
con.setLayout(new BorderLayout());
con.add(spp, BorderLayout().CENTER);
아시는분 답변부탁~^^ -
하예라 2025-09-02
아차발명님.... 님 말씀대로 0.30 처럼 소수값표현을 하니 퍼센티지 표현은 되지 않네요. 0부터 1 사이의 소수값을 임의로 해봐도 시종일관 좌측의 패널만 아주 좁게 표시되네요.. api를 봐도 double 자료형의 퍼센티지로 결정한다고 되어있는데..... 왜이러는건지;;
-
무들 2025-09-02
예를 들어 30%인 경우
spp.setDividerLocation(0.30); 처럼 사용합니다. 한번 적용해보세요 ^^
