2014-12-10 2 views
1
import javax.swing.*; 
{ 

JFrame ShoppingMarket=new JFrame(); 
{ 
    ShoppingMarket.add(new JLabel(new ImageIcon("C:\\Users\\admin \\Desktop\\The Da Vinci Code.jpg"))); 
    ShoppingMarket.pack(); 
    ShoppingMarket.setVisible(true); 
} 
ShoppingMarket.add(new JLabel(new ImageIcon("C:\\Users\\admin \\Desktop\\Angels And Demons.jpg"))); 
ShoppingMarket.pack(); 
ShoppingMarket.setVisible(true);  
} 

첫 번째 창을 닫을 때 화면이 지워지지 않습니다. 두 그림이 모두 화면에 표시됩니다.JLabel에서 ImageIcon을 업데이트하는 방법은 무엇입니까?

답변

5

프레임에 새 JLabel을 추가하는 대신 원래 클래스를 포함하는 필드에 원본을 저장하십시오. 그런 다음 label.setIcon(theNewIcon)으로 전화하면됩니다.이 필드의 이름은 label입니다. 관련 documentation을 참조하십시오.

+2

[ImageIcon.getImage() .flush();] (http://stackoverflow.com/a/9616521/714968)는 HDD에 느슨하게 배치 된 리소스에 중요합니다. – mKorbel

관련 문제