2011-01-31 3 views
4

추가 질문 to my other one;JSplitPane + MiGLayout : 비례 자동 크기 조정을 사용하는 방법

비례 크기 조정을 사용하려면 어떻게해야합니까? 나는이 일 것이라고 생각하지만 그렇지 않습니다 :

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JSplitPane; 
import net.miginfocom.swing.MigLayout; 

public class SplitPaneQuestion { 
    public static void main(String[] args) { 
     JFrame frame = new JFrame("SplitPaneQuestion"); 
     JPanel panel = new JPanel(); 
     frame.setContentPane(panel); 
     panel.setLayout(new MigLayout("","[]","[grow]")); 
     JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); 
     panel.add(splitpane, "push, grow"); 

     splitpane.setTopComponent(new JButton("top")); 
     splitpane.setBottomComponent(new JButton("bottom")); 
     splitpane.setDividerLocation(0.333); 

     frame.pack(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
    } 
} 

나는 전체 프레임 크기를 조정할 때 내가하고 싶은 위/아래 버튼 크기의 비율입니다 것은 일정합니다. (기본적으로 1 : 2 비율로)

어떻게해야합니까?

답변

6
splitPane.setResizeWeight(0.333); 
+0

아하! 고마워, 나는 setDividerLocation가 작동 할 것으로 기대하고 있었고, 그 때 내가 무엇을 해야할지 전혀 몰랐다. –

2

내가 잘 모르는 MigLayout에 대해 이야기 할 수 없습니다. 그러나, 내 마음에 그 문제에 대한 최상의 솔루션 스윙 - 일반 : ComponentListener JSpiltPane 추가하고 크기 비율로 빌드 된 계수에 의해 포함 된 구성 요소의 크기를 조정하십시오.

+0

+1 : 다른 목적으로이 작업을 수행해야하므로 ComponentListener에 대한 링크를 이용해 주셔서 감사합니다. –

관련 문제