2014-04-28 5 views
2

컨트롤에 대해 위에있는 버튼이있는 JTabbedPane을 패널에 추가하려고합니다. MigLayout을 사용하고 있습니다.MigLayout - 선택적 구성 요소 채우기

그러나 버튼을 채울 필요가없는 경우 채우지 않고 JTabbedPane을 채울 수 없습니다. 나는 레이아웃 제약에서 fill() (JPanel panel = new JPanel(new MigLayout(new LC()));)을 제거하면, 보이는,

enter image description here

하지만이이처럼 보이는 패널을 생산

public static void main(String[] args) { 
    JPanel panel = new JPanel(new MigLayout(new LC().fill())); 
    panel.add(new JButton("+")); 
    panel.add(new JButton("-"), "wrap"); 
    panel.add(new JTabbedPane(), "span, grow"); 
    JFrame frame = new JFrame(); 
    frame.add(panel); 
    frame.setSize(new Dimension(300, 500)); 
    frame.setLocationRelativeTo(null); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} 

:

는 다음 SSCCE를 타고 이렇게 :

enter image description here

JButton이 채워지지 않는 동안 JTabbedPane이 콘텐츠 영역을 채우게하려면 어떻게해야합니까?

+0

마지막 질문을 삭제했습니다. 해결책있어? – Braj

+0

필요한 경우 해결책이 있습니다. – Braj

답변

3

제약 조건을 모든 셀에 적용하지 않으려면 레이아웃을 말하지 말고, 대신 열 및 행 제약 조건을 사용하십시오. 3 개의 열과 마지막 채우기 및 확장 만 두 행을 마지막으로 성장하는

JPanel panel = new JPanel(new MigLayout("", "[][][fill, grow]", "[][fill, grow]")); 
panel.add(new JButton("+")); 
panel.add(new JButton("-"), "wrap"); 
panel.add(new JTabbedPane(), "span, grow"); 
+0

!! yay @kleopatra 나는 당신이 권자를 통해 올 줄 알았어. 열과 행 제약 조건을 아직 파악하지 못했습니다. 나는 그걸 만만하게하고 있었지만 아무것도 작동하지 않았다. 감사. – ryvantage

+0

질문 : ** column ** constraint가 ** 모든 컬럼 **에 적용되지 않는 이유는 무엇입니까? JTP는 독자적으로 ** 행 **에 있지만 JTP와 동일한 열의 구성 요소에는 열 제한이 적용되지 않는 이유는 무엇입니까? – ryvantage

+0

백서를 읽으십시오, 모두 거기에 expleined :-) – kleopatra

관련 문제