2010-07-06 4 views
3

버튼을 클릭하면 배경색이 변경되지 않습니다. 기본적으로 색상은 밝은 청색 회색으로 바뀝니다.Swing JButton이 배경색을 변경하지 않습니다 onclick

그래서 이것은 내가 버튼을 원하는 내 코드

JButton b = new JButton(); 
b.setBackground(SystemColor.control); 

경우에는 배경 색상을 변경하지 않습니다 클릭합니다.

+2

코드없이 아무도 당신을 도울 수 없습니다. – Ham

답변

2

버튼의 그림은 LAF에 따라 다릅니다. 다음 중 하나를 수행 할 수 있습니다.

  1. 고유 한 UI 대리인을 정의하고 버튼에 할당합니다. 단점 : 복잡한, LAF를 나눕니다.
  2. JButton을 확장하고 paintComponent()을 구현하십시오. 단점 : 버튼 레이블을 직접 페인트해야합니다.
  3. setContentAreaFilled(false)을 호출하여 단추의 배경 그림을 모두 제거한 다음 필요한 배경색으로 불투명 한 패널에 단추를 추가하십시오. 장점 : 버튼이 변경되지 않았으며 LAF가 손상되지 않았습니다. 단점 : 각 단추에 대한 패널을 만들고 단추에 맞게 패널을 조정해야합니다. 레이아웃에 따라 상당히 어려울 수 있습니다.
1

배경 및 전경색에 사용되는 색상을 수정할 수 있습니다. 당신이하는 일은 당신이 사용하고있는 Look and Feel에 달려 있습니다.

Nimbus를 사용하는 경우 색상 목록이 here이고 here은 색상을 변경하는 방법에 대한 기사입니다. 그리고 here은 도움이 될만한 또 다른 기사입니다.

관련 문제