2012-11-22 8 views
2

은이 코드를 사용하여, 예를 들어 툴팁의 색상을 변경하는 방법을 알고 :Nimbus Laf을 사용하여 내부 프레임의 "최소화, 최대화 및 닫기"아이콘을 어떻게 변경할 수 있습니까? 나는 후광 모양과 느낌, 을 사용하고

UIManager.put("info", Color.white); 

을하지만 어떻게 내가 바꿀 수있는 아이콘 (최소화, 최대화 및 닫기) 다른 아이콘/PNG 파일로?

닫기 버튼의 키는 다음과 같습니다. InternalFrame:InternalFrameTitlePane:"InternalFrameTitlePane.closeButton"[Enabled].backgroundPainter info과 동일합니다. http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html#primary

+0

다음과 같은 방법 : Nimbus LaF의 기본 이미지를 변경하는 방법은 무엇입니까? –

답변

2

이 못생긴 해킹 것 같은데,하지만 나를 위해 작동 :

그리고 여기에 모든 키와 사이트입니다.

JComponent  title = ((BasicInternalFrameUI)myInternalFrame.getUI()).getNorthPane(); 
    for (int i = 0; i < title.getComponentCount(); i++) { 
     JComponent component = (JComponent)title.getComponent(i); 
     if(component instanceof JButton) { 
      JButton button = ((JButton)component); 
      if(button.getName() == null) continue; 
      if(button.getName().endsWith("closeButton")) { 
       button.setIcon(myIcon); 
       button.setSelectedIcon(myIcon); 
       button.setPressedIcon(myIcon); 
      } 
      if(button.getName().endsWith("maximizeButton")) { 
       ... 
      } 
      if(button.getName().endsWith("iconifyButton")) { 
       ... 
      } 
     } 
    }