Swing에서 애플리케이션의 아이콘을 전역적으로 어떻게 설정합니까?

StackOverflow https://stackoverflow.com/questions/103179

  •  01-07-2019
  •  | 
  •  

문제

각 양식이나 루트 양식에 대해 하나씩 지정할 수 있다는 것을 알고 있으며 모든 하위 양식에 계단식으로 적용됩니다. 하지만 모든 양식에 대해 기본 Java Coffee Cup을 재정의하는 방법이 있으면 좋겠습니다. 잊어버릴 수도 있어요.

어떤 제안이 있으십니까?

도움이 되었습니까?

해결책

당신은 루트 형식을 만들 수 있습니다. JFrame) 자신의 하위 클래스가 되십시오. JFrame, 생성자에 다음과 같은 표준 기능을 추가합니다.

this.setIconImage(STANDARD_ICON);

프레임의 창 메트릭을 사용자 기본 설정으로 기억하고 스플래시 창 관리 등과 같은 다른 표준 항목도 여기에 번들로 묶을 수 있습니다.

이 프레임에 의해 생성된 모든 새 프레임도 이 프레임의 인스턴스가 됩니다. JFrame 아강.기억해야 할 유일한 것은 하위 클래스를 인스턴스화하는 것입니다. JFrame.나는 이것을 기억하는 것을 대체할 수 있는 것이 없다고 생각합니다. 그러나 적어도 지금은 setIconImage (다른 기능 중에서) 전화를 겁니다.

다른 팁

다른 방법이 있지만 실제 수정보다는 "해킹"에 더 가깝습니다....

JRE를 애플리케이션과 함께 배포하는 경우 Java exe/dll/rt.jar의 커피잔 아이콘 리소스가 어디에 있든 자신의 아이콘으로 바꿀 수 있습니다.합법적이지 않을 수도 있지만 가능성은 있습니다 ...

또한 하나의 "기본" 창이 있고 해당 아이콘을 적절하게 설정한 경우 해당 기본 창을 대화 상자 클래스의 "상위"로 사용하는 한 해당 기본 창은 아이콘을 상속합니다.하지만 모든 새 프레임에는 아이콘이 설정되어 있어야 합니다.

Paul/Andreas가 말했듯이 JFrame을 서브클래싱하는 것이 최선의 방법이 될 것입니다.

JDialog 클래스를 확장하고(예: MyDialog 이름 지정) 생성자에 아이콘을 설정합니다.그런 다음 모든 대화 상자는 구현(MyDialog)을 확장해야 합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top