2010-07-27 3 views
0

경계선 레이아웃의 북쪽 위치에서 이미지의 JLabel을 원하는 너비와 일치하는 길이로 자동 크기 조정할 JLabel (이미지 포함)을 만들고 싶습니다. 컴포넌트를 테두리 레이아웃의 가운데 위치에 배치합니다.Borderlayout North 위치에서 자동 크기 조절을하는 구성 요소를 만드는 방법

내가 할 수있는 유일한 방법은 북쪽 위치에 다른 패널을 만들고이 패널의 가운데 위치에 레이블을 추가하는 것입니다.

추가 패널 없이도이 작업을 수행 할 수 있습니까?

+0

당신은 대답나요? 내 대답을 확인하지 않으면 :). – YoK

답변

1

추가 패널을 추가 할 필요가 없습니다. North (즉 Top) 라벨 만 있으면됩니다. borderlayout에서 north에 추가 된 구성 요소는 전체 너비를 차지하고 높이는 구성 요소의 높이가 우선 적용됩니다. 이것은 다양한 요소에 따라 결정됩니다.

레이블 텍스트와 이미지를 중앙에서 설정하면됩니다. 동일하게 레이블의 정렬 API를보십시오.

세부 사항 : http://www.ehow.com/way_5579409_java-borderlayout-tutorial.html

예를 들어,

http://www.java2s.com/Tutorial/Java/0240__Swing/1340__BorderLayout.htm

http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/layout/border.html

0

글쎄, 내가 그 질문을 이해하는지 모르겠다. JLabel은 자체를 "자동 크기 화"하지 않습니다. 레이블의 크기는 레이블에 추가 된 아이콘의 크기입니다. 따라서 너비가 변경 되더라도 이미지의 크기는 변경되지 않습니다.

어쩌면 당신은 사용할 수 있습니다 : 귀하의 질문이 무엇인지 이잖아 경우 수평 패널의 북쪽에있는 라벨을 중심

label.setAlignmentX(...); 
label.setHorizontalAligment(...); 

합니다.

현재 무엇을하고 있는지 보여주는 현재 작동중인 SSCCE을 게시하지 마십시오. 또한, 두 번째 패널을 사용할 때의 문제점은 무엇입니까?

관련 문제