2012-06-07 3 views
4

JLabel 내부에 배치 한 내 이미지의 위치를 ​​지정하고 싶습니다.JLabel 위치 지정 (setAlignment not working)

public Main() { 
    setLayout (new FlowLayout()); 
      image = new ImageIcon(getClass().getResource("title.gif")); 
      image1 = new JLabel(image); 
      image1.setAlignmentX(400); 
      image1.setAlignmentY(400); 
      add(image1); 
} 

그것은 이미지를 표시하지만 선

image1.setAlignmentX(400); 
image1.setAlignmentY(400); 

아무것도하지 마십시오 : 여기 내 코드입니다. 저는 Java를 처음 접했을뿐입니다.

(나는 예를 부탁드립니다.)

+3

정렬 값은 [0과 1 사이]로 가정됩니다 (http://docs.oracle.com/javase/7/docs/api/java/awt/Container.html#getAlignmentX%28%). 29). – Jeffrey

답변

7

문제 :

  • 당신은 FlowLayout의를 사용하고 제대로 그 일을하더라도 절대 위치를 존중하지 않습니다.
  • setAlignmentX(...)은 컨테이너에 x 축을 따라 구성 요소의 정렬을 제안합니다. 위에서 언급했듯이 0.0f에서 1.0f까지의 부동 소수점을 취합니다. 0f는 왼쪽으로 정렬을 의미하고 0.5f는 가운데에, 1.0f는 오른쪽으로 정렬합니다. 당신은 확실히이 방법을 사용하고 싶지 않거나 여기서 y 방법을 사용하고 싶지 않습니다.
  • 절대 위치 지정을 사용하려면 FlowLayout이 아닌 Null 레이아웃을 사용하는 컨테이너가 필요합니다.
  • 절대 위치 지정은 setBounds(...) 또는 setLocation(...) 메서드를 통해 수행됩니다.
  • 이렇게 말하면 절대적인 필요가 없으면 절대적인 자세를 취하지 말고, 그렇지 않은 경우 더 좋은 방법이 있다는 것을 의미합니다.

문제를 해결하는 방법이 아닌 문제의 세부 정보를 알려 주시면 문제 해결에 도움이 될 것입니다.