2014-11-12 8 views
0

지금은 간단한 게임을 만들고 있습니다. JButton을 클릭하면 JLabel의 ImageIcon이 변경됩니다. 이것을 어떻게 할 수 있습니까?ImageIcon을 프로그래밍 방식으로 자동으로 변경 [Java]

+0

** 관련 ** 코드는 여기에 게시해야합니다. – BitNinja

+0

'JLabel @ setIcon'? 자세한 내용은 [레이블 사용 방법] (http://docs.oracle.com/javase/tutorial/uiswing/components/label.html)을 참조하십시오. – MadProgrammer

+0

@MadProgrammer 이미이 자습서를 읽었습니다. 이제 ImageIcon이 설정되었으므로 앱이 실행되는 동안 어떻게 변경할 수 있습니까? –

답변

0

간단히 말해, 버튼의 액션 리스너를 통해 JLabel에서 setIcon()을 빠르게 실행할 수 있습니다.

예 :

MadProgrammer에서 언급 한 바와 같이
if ("burp".equals(evt.getActionCommand())) { 
     charLabel.setIcon(burpIcon); 
     Sounds.burp(); 
    } 

, 당신의 setIcon (실시간 변경을보고 한 모든 문제는) 아마 당신이 실제로 클래스를 설계 한 방법을 살펴 보증보다는하려고 해 ImageIcon을 적절한 설정으로 작동하도록 강제하는 해킹 된 해결 방법입니다.

+0

1- JLabel의'icon' 또는'text'를 변경 한 후에'revalidate'와'repaint'를 호출해야한다면, 프로그램에 문제가 있습니다. 이것들은 바운드 프로퍼티이고 그들 자신의 업데이트를 트리거해야합니다 . 2 - OP가'null' 레이아웃을 사용하고 있기 때문에,'revalidate'를 호출하는 것은 무의미합니다. 레이아웃 매니저에서 변경을 트리거하기 때문에 ... – MadProgrammer

+0

아 맞습니다. setIcon에는이 문제가 없어야합니다. 대신 플러시 할 가치가 있을까요? – Kamern

+0

아니면 그냥 수업을 다시 디자인 ... – Kamern