2012-09-26 3 views
0

주 컨텐츠 창에 삽입되는 컴포넌트가 있는데, 어떤 이유로 그 영역을 채우지 않습니다. GridBagLayout이 영역을 채우지 않습니다.

getInstance().add(internalPanel, LayoutFactory.newFactory().setX(1).setY(1). 
      setWeightX(1).setWeightY(1).setFill(GridBagConstraints.BOTH)); 

나는 그냥 속성을 설정하고 객체를 반환, GridBagLayout을 위해 특별히 LayoutFactory했다.

기본적으로 문제는 콘텐츠 창에 구성 요소를 추가 할 때 해당 구성 요소가 전용 공간을 채우지 않는다는 것입니다. weightXweightY이 0으로 설정된 것처럼 절대 최소값을 취합니다. setAnchor(GridBagConstraints.FIRST_LINE_START)setAnchor(GridBagConstraints.NORTHWEST)을 시도했습니다. 프로그램에 눈에 띄는 영향도 없습니다.

또한 구성 요소의 테두리를 설정하면 공간의 일부만 채우므로 추가 할 구성 요소에 문제가 없습니다.

구성 요소가 공간의 가운데에 나타나고 앵커를 따라 가지 않습니다. here에서 내 문제는 weightXweightY 속성이라고 생각했습니다. 컨텐츠 영역의 다른 구성 요소를 볼 때마다 가중치가 하나씩 설정됩니다.

getInstance().add(MainFrame.buttons, LayoutFactory.newFactory().setX(0).setY(1). 
      setWeightY(1).setWeightX(0).setFill(GridBagConstraints.BOTH)); 

getInstance().add(panel, LayoutFactory.newFactory().setX(0).setY(0).setWidth(2) 
      .setWeightX(1).setWeightY(0).setAnchor(GridBagConstraints.FIRST_LINE_START) 
      .setFill(GridBagConstraints.NONE)); 

그것은 뭔가 다른 곳에서 잘못된 것입니다,하지만 난 텍스트이 게시물 늪 싶지 않다고 확실히 가능

. 이것을 알아 내기 위해 더 많은 정보가 필요하다면, 그것을 제공하는 것이 기쁜 것보다 더 낫습니다. 희망적으로 이것은 의미가 있었다. 나는 잠시 동안 GridBagLayout을 사용 해왔다. 나는 이런 식으로 들어 본 적이 없다.

Here is an image of what it looks like in the space it is supposed to be

편집 : 문제를 찾을 작은 예제 프로그램이 잘 작동하고 같이 다른 곳에 낳는다. 내가 약간 혼란 스럽기 때문에, I uploaded a full version of the program I am working on. 실제로 무엇을하는지 걱정하지 마라, 나는 단지 공간을 채우지 않는 작업량 패널에 관심이있다. 문제

+1

코드를 실행하고 조작 할 수 있도록 [sscce] (http://sscce.org) 작성 및 게시를 고려하십시오. 또한 0으로 가중치를 설정한다는 것을 올바르게 이해하고 있습니까? –

+0

예. 음, 문제는 다른 곳으로 낳는 것 같아요. 왜냐하면 제가 소프트웨어를 만들 때 완벽하게 작동했기 때문이죠. [Available available.] (http://pastebin.com/piAtgqmc) –

+0

적어도 오류를 격리하기 위해 더 많은 디버깅을해야한다고 생각합니다. 문제를 해결할 수 없다면 sscce. –

답변

0

해결 방법 :

에는 레이아웃 매니저 없었다 InternalPanel 타입 객체에 구성 요소를 추가했다. (flowLayout 기본값)

+0

왜 이것이 문제입니까? 이것이 어떻게 도움이 되었는가/문제를 완전히 해결했는지 설명하십시오. – Pureferret

관련 문제