저는 메모리 일치 게임을 만들려고합니다. 클릭 할 때 JButton 위에 놓는 아이콘 이미지가 있습니다. 내 질문은 JButton에서 아이콘을 제거 할 수있는 방법이 있습니까? 사용자가 클릭 할 때 이미지가 표시되고 사용자가 두 번째 버튼을 클릭해도 첫 번째 버튼과 동일한 이미지가 나타나지 않으면 사라지게 만들려고합니다. 아이디어가 있습니까?JButton에서 아이콘을 제거하는 방법?
2
A
답변
7
간편한 아이콘을 null
으로 설정하십시오. 아이콘이 없으므로 아이콘이 제거됩니다.
button.setIcon(null);
+2
완벽하게 작동합니다. 나는 단지 그것을 overthinking하는 것 같았다. 도움에 감사드립니다. –
3
다음 코드를 사용하여
JButton button = new JButton();
button.setIcon(null);
2
그것을 할 수있는 가장 좋은 방법을, 같은 크기의 투명 아이콘으로 기존의 아이콘을 교체하는 것입니다. 이렇게하면 버튼이 크기를 변경하지 않고 레이아웃에서 발생하는 다른 GUI 요소의 배치를 방해 할 수 있습니다. E.G.
BufferedImage ourIcon = ...
BufferedImage invisibleIcon = new BufferedImage(
ourIcon.getWidth(), ourIcon.getHeight(), BufferedImage.TYPE_INT_ARGB);
그런 다음, 단순히 :
// use a JToggleButton instead of a JButton - it will remain pressed
JToggleButton button = new JToggleButton(new ImageIcon(ourIcon));
button.setPressedIcon(new ImageIcon(invisibleIcon));
// start a timer to change the state back, if required..
관련 문제
- 1. JButton에서 흰색을 제거하는 방법 Icon
- 2. RCP보기 아이콘을 제거하는 방법?
- 3. DateField에서 캘린더 아이콘을 제거하는 방법
- 4. icomoon의 아이콘을 집합에서 제거하는 방법
- 5. 내비게이션 서랍 아이콘을 제거하는 방법
- 6. JButton에서 텍스트를 변경하는 방법
- 7. Java Web Start : 경고 아이콘을 제거하는 방법?
- 8. jQuery upvote에서 북마크 아이콘을 제거하는 방법?
- 9. 유니티에서 Particle System으로 표시되는 아이콘을 제거하는 방법
- 10. 프로그래밍 방식으로 아이콘을 제거하는 방법 (Android)
- 11. 서랍 조각에 대한 아이콘을 제거하는 방법
- 12. one2many 트리보기에서 삭제 아이콘을 제거하는 방법
- 13. 내 JButton에서 이미지 아이콘을 업데이트하지 않는 이유는 무엇입니까?
- 14. Custom JButton에서 paintComponent를 가로채는 방법
- 15. JButton에서 GUI를 닫는 방법 클릭
- 16. jbutton에서 jbutton으로 아이콘 이동
- 17. jbutton에서 jlabel을 다른 것 아래에 추가하는 방법
- 18. 외부 JButton에서 JTable 동작을 호출하는 방법?
- 19. JButton에서 입력과 함께 키보드 입력을받는 방법?
- 20. JButton에서 JLabel을 클릭하십시오.
- 21. JButton에서 글꼴 크기 늘리기
- 22. JButton에서 함수 실행
- 23. JButton에서 JLabel의 이미지를 변경하십시오
- 24. JButton에서 값을 반환
- 25. JComboBox의 JButton에서 효과 누르기
- 26. JButton에서 애플릿을 실행 중입니다.
- 27. JButton에서 오디오 파일 재생?
- 28. Java의 JButton에서 페인팅
- 29. Google지도에서 기본 A B 아이콘을 제거하는 방법 경로 방향
- 30. QCalendarWidget에서 선택한 날짜 사각형을 제거하고 위젯에서 작은 아이콘을 제거하는 방법
귀하의 질문은 질문을 명확하게 몇 가지 코드를 사용할 수 있습니다. – rene