2010-11-28 4 views
0

처음에 두 가지 요소를 배치에 문제가 :자바 스윙의 GridBagLayout - 내가 얼마나 당신을 보여 드리죠 패널

picture_how_it_is

이것은 ( 수에 링크를 아래를 참조하는 방법을 내 덧글) :

레이블이 있어야하고 TabPane은 화면의 나머지 부분을 모든 방향으로 여백으로 채워야합니다. 당신이 알아야 할

// Layout --begin-- 
    this.mainPanel.setLayout(new GridBagLayout()); 
    GridBagConstraints gbc = new GridBagConstraints(); 

    // Layout:headLineLabel --begin-- 
    gbc.gridx = 0; 
    gbc.gridy = 0; 
    gbc.gridwidth = 1; 
    gbc.gridheight = 1; 
    gbc.fill = GridBagConstraints.HORIZONTAL; 
    gbc.ipadx = 0; 
    gbc.ipady = 0; 
    gbc.insets = new Insets(0, 10, 0, 0); 
    gbc.anchor = GridBagConstraints.FIRST_LINE_START; 
    this.mainPanel.add(this.headLineLabel, gbc); 
    // Layout:headLineLabel --end-- 

    // Layout:FestplattenreinigerGraphicalUserInterfaceTabbedPane --begin-- 
    gbc.gridx = 0; 
    gbc.gridy = 1; 
    gbc.gridwidth = 1; 
    gbc.gridheight = 1; 
    gbc.fill = GridBagConstraints.BOTH; 
    gbc.ipadx = 0; 
    gbc.ipady = 0; 
    gbc.insets = new Insets(10, 10, 10, 10); 
    gbc.anchor = GridBagConstraints.CENTER; 
    this.mainPanel.add(new FestplattenreinigerGraphicalUserInterfaceTabbedPane(), gbc); 
    // Layout:FestplattenreinigerGraphicalUserInterfaceTabbedPane --end-- 
    // Layout --end-- 

것들 :

  1. FestplattenreinigerGraphicalUserInterfaceTabbedPane이 JTabbedPane에 확장

    는 GridBagLayout에 그것을 밖으로 누워 코드입니다.
  2. 연습 할 때 모든 제약 조건을 지정하려고했습니다 (기본 제약 조건을 포함하여).
  3. 내가 앵커를 추천하면 레이아웃은 그대로 유지됩니다.

무엇이 잘못 되었나요?

THX 대단히! (죄송합니다. 직접 이미지를 게시 할 수 없습니다. 새 소식으로 +1 링크 만 가능합니다 .-)

+0

어떻게해야합니까 : http://img832.imageshack.us/img832/6905/howitshouldbe.jpg – JavaHater

답변

0

중간에 중력과 무게가 필요하지 않거나 모두 덩어리가되었습니다. 그래서 tabpane 추가 기능 추가하기 전에 :

gbc.weightx = 1.0; 
gbc.weighty = 1.0; 
+0

thx man. 가중치를 설정 한 후, 창 tabpane의 크기를 조정하고 레이블이 서로 매우 큰 여백을 가질 때. 지금은 같은 x와 y 격자에 넣었고 이제는 아주 잘 작동합니다. 다시 감사드립니다. 내 저녁을 만들었습니다! – JavaHater

+0

@JavaHater - 희망이 조금 덜 자바를 싫어 :) – willcodejavaforfood

0

이 샘플에 정확한, 그런 일을하기를, 나는 당신이 넷빈즈보다는 GridBagLayout에있는 '무료 디자인'을 사용하고 응용 프로그램 창 크기를 조정하는 능력을 제한 할 수 있다고 생각 .

0

GridBagLayout을 사용하지 마십시오. BorderLayout를 사용해주세요. NORTH의 레이블과 CENTER의 탭 패널.

또는 세로 BoxLayout 일 수도 있습니다.

+0

미안하지만 그게 아닌가. 이 경우에 연습 gridbaglayout을 원합니다 ... – JavaHater

+0

미안하지만 여기에 대해 무엇을하고 있습니까? GridBagLayout은 배우기 아주 좋습니다. – willcodejavaforfood

+0

@ willcodejavaforfooc, 게시 된 곳에서는 "무언가를 배우려고"하는 곳이 없습니다. 나는 항상 가장 쉬운 방법을 사용하여 문제를 해결합니다. 이 경우 GridBagLayout이 가장 쉬운 솔루션은 아닙니다. 포스터에게 다양한 접근 방식을 이해할 수 있도록 선택권을 부여하고 싶습니다. 많은 초보자는 맹목적으로 코드를 복사하여 특정 방법으로 코딩해야한다고 생각합니다. – camickr