2017-01-29 10 views
0
button[currRow][currCol].setBackground(Color.RED); 
button[currRow][currCol].setContentAreaFilled(true); 
button[currRow][currCol].setOpaque(true); 

저의 게임은 빨간색 플레이어의 움직임을 나타내는 4 개의 게임에 연결되어 있습니다. 순간 Java에서 실제 JButton의 색상을 변경하려면 어떻게해야합니까? 배경이 아닌 텍스트가 아닙니다.

https://i.stack.imgur.com/E12ZI.png

, 그것은 단지 색상 배경과 I 버튼 [currRow] [currCol] .setForeground (Color.RED)에 코드를 변경하면 그 모든 것은 단지 변경하지 보인다. 어떻게 해결할 수 있을까요?

+1

'setContentAreaFilled (false) '를 사용해보세요. [약간 더 고급 예제] (http://stackoverflow.com/questions/14635952/java-layout-proportions-creating-a-scalable-square-panel/14636828#14636828) – MadProgrammer

답변

1

이것은 쉽게 달성 할 수 없습니다. 문제는 플러그 가능한 룩앤필이 버튼 콘텐트를 칠하는 것이고, 그것이 어떤 방식 으로든 적합하다는 것이다. 예를 들어, 일부 L & F는 배경색을 사용하지 않는 그래디언트를 칠할 수 있습니다.

맞춤 이미지 (JButton.setIcon())를 사용하고 콘텐츠 영역 (JButton.setContentAreaFilled(false))을 사용하지 않는 것이 좋습니다.

또는 JComponent.paintComponent()을 무시하고 요소 자체를 그리는 사용자 지정 구성 요소를 만들 수 있습니다.