2009-10-19 5 views
1

borderLayout을 사용하여 JFrame 및 Box (BoxLayout.X_AXIS)에 구성 요소를 정렬하여 서로 옆에 단추를 배치합니다. 그러나 두 가지 문제를 만듭니다단추 크기를 변경하지 않고 단추 텍스트를 변경하십시오.

  1. 내가 같은 크기로 버튼을 원하는,하지만 자동으로 (내가 런타임에 버튼 내부의 텍스트를 변경할 때 특히 짜증나는) 그 안에 텍스트에 맞게 그 크기를 조정

  2. 내가 버튼 사이의 공간을 조금 갖고 싶어

이가의 BorderLayout을 사용 가능 (의 10 픽셀을 가정 해 봅시다), 또는 내가 null로 setLayout의를 사용해야합니까? 그렇다면 프레임의 버튼 배치가 원래대로 돌아 가지 않을까요? 또는이 작업은 borderLayout과 함께 배치 된 Box에 의해 처리됩니까?

답변

4

문제가 해결되지 않으면 제안의 몇

  1. 적절한 Dimension 값으로 preferredSize을 설정해보십시오
  2. ,이 같은 치수 값
  3. 그이면에 maximumSizeminimumSize을 설정하려고 여전히 작동하지 않으면 버튼 레이아웃 관리자를 GridBagLayout으로 변경하십시오. 이 레이아웃 관리자의 장점은 레이아웃의 동작을 미세하게 제어 할 수 있다는 것입니다. 단점은 일반적으로 GridBagLayout에 많은 수의 속성을 구성하여 원하는 동작을 얻는 것입니다. 합리적으로 복잡한 짐승이기 때문에 먼저 GridBagLayout 튜토리얼을 확인하는 것이 좋습니다.
+0

감사합니다. 작업 한 버튼의 최소/최대 크기를 설정하십시오. 이제 GridBagLayout을 살펴보고 있습니다. – FinalArt2005

+0

preferredSize 설정은 너비가 아닌 높이에만 적용됩니다. – FinalArt2005

2

동일한 크기로 만들려면 버튼을 GridLayout에 추가하면 가장 큰 텍스트 문자열에 자동으로 크기가 조정됩니다. 구성 요소 사이에 간격을 지정할 수도 있습니다.

+0

고마워, 나는 GridBagLayout을 살펴 봤지만, 나는 가지고있는 두 개의 버튼에 대해 너무 정교하다고 생각한다. 그래서 나는 지금이 GridLayout을 시도 할 것이다. (이미 GridBagLayout에 대해 읽었을 때 이미 그것을 보았을 것이다.) 내가 격차를 설정할 수 있다면 그것은 좋을 것입니다. – FinalArt2005

관련 문제