2013-08-17 4 views
0

하나의 간단한 양식을 디자인했습니다. JLabel에서 이미지를 설정할 수 없습니다.

이있는 난 lblPanel 같은 컨텐츠 구획 JLabel의 하나로서 한 패널을 넣어.

이제 JLabel에서 이미지를 설정하려고합니다. 내가 직접 JLabel의의 아이콘 속성을 설정하여 이미지를 설정할 수 있도록

나는 WindowBuilder를있다.

하지만이 때 그것은 단지 우리가 공급되는 JLabel의 전체를 수동으로 설정하는 이미지 크기를 가지고 있어야 자연스러운 원래 크기로 이미지를 보여줍니다.

그래서, 여기에 내가 JLabel의의 아이콘 속성을 사용하여 이미지를 설정할 때 WindowBuilder에 의해 생성 된 코드입니다.

lblPanel.setIcon(new ImageIcon(Admin_Form.class.getResource("/Icons/MouthSmile.jpg"))); 

지금 내 문제는 내가 그것을 WindowBuilder를 사용하거나 바로 위의 라인을 수정 할 수있는 직접적인 방법이 있도록 JLabel의 크기로 이미지의 크기를 설정할입니까?

나는 또한 내가 두 이미지 아이콘 하나 개의 이미지를 촬영하는 다음과 같은 방법을 시도했다.

다음은 내가 시도한 코드입니다. 내가 창 Builder에서 생성되는 코드를 제거하고 사용하면

private Image img; 
private ImageIcon imgicon; 
private ImageIcon newimgicon; 

imgicon = new ImageIcon("/Icons/MouthSmile.jpg"); 
img = imgicon.getImage(); 

newimgicon = new ImageIcon(img.getScaledInstance(lblPanel.getWidth(),lblPanel.getHeight(), Image.SCALE_SMOOTH)); 
lblPanel.setIcon(newimgicon); 

는 있지만 이미지가 표시되지 않습니다 광산.

또한 BufferedImage를 사용하여 할 수있는 방법을 볼하지만 난 크기를 조정하거나 이미지 아이콘 및 이미지에 BufferedImage를 사용 wheather를 아무런 차이가 없을 것이라 생각합니다.

+1

아이콘을 포함하는 JLabel의 크기 일 것이다 이 아이콘의 크기입니다. 따라서 아이콘이 들어가기 전에 JLabel의 크기로 아이콘 크기를 조정하면 이미지의 크기가 0으로 조정됩니다. 원하는 이미지 편집 도구를 사용하여 원하는 크기로 이미지의 크기를 조정하면 JLabel에 이 아이콘의 크기 게다가, ImageIcon을 생성하기 위해 생성 된 코드는 정확합니다. 왜 그것을'new ImageIcon ("/ Icons/MouthSmile.jpg")'으로 수정합니까? –

+0

내가 뭘 잘못하고 있는지 자세히 설명해 주시겠습니까? "새로운 ImageIcon ("/ Icons/MouthSmile.jpg ")으로 수정하는 이유는 무엇입니까? 왜냐하면 나는 이해할 수 없기 때문이다. –

+1

최종 사용자의 데스크탑에 100 % 확률이없는 파일 시스템에서'/ Icons/MouthSmile.jpg' 파일의 이미지를로드하고 있습니다. 대신 생성 된 코드에서와 마찬가지로 클래스 경로에서 클래스 로더 (따라서 응용 프로그램의 jar 또는 디렉토리에서)를 클래스 로더와 함께로드해야합니다. –

답변

0

JFrame 표시 당신의 전에 Container과 추가되기 전에 lblPanel의 폭과 높이를 얻으려고 노력하는 경우, 폭과 높이가 모두 0

관련 문제