JavaFX favicon, icon 적용하는 방법
이번 포스팅에서는 JavaFX의 아이콘, 파비콘을 적용하는 방법을 알아보겠습니다.
테스트 해본 결과 ico 확장자는 표출이 안되네요.
우선 JavaFX를 적용하셨으면 Application 을 extends한 클래스에 start 메소드를 override 하셨을꺼에요.
(아래의 Link 참고)
Link : Springboot + JavaFX + SceneBuilder 연동하기
이제 그 start 메소드를 보시면,
여기에서 매개변수로 받는 Stage가 우리가 보는 window 창입니다.
stage에 setTitle 메소드로 창의 제목도 정할 수 있습니다.
적용하려고 하는 아이콘도 그 창의 아이콘이기 때문에 여기에 적용을 해주시면 됩니다.
그럼 원하는 아이콘을 찾아보겠습니다.
iconfinder에 접속해서 원하는 아이콘을 검색합니다.
검색후 free 를 선택하시면 무료 아이콘이 표출이 되고 다운이 가능합니다.
우측 하단 아이콘이 좋겠네요!
다운받으신 아이콘을 원하는 패키지 내에 넣습니다. 저의 경우 main 패키지에 넣었습니다.
이제 start 메소드 내에 아이콘을 적용하는 코드를 추가하도록 합니다.
@Override
public void start(Stage stage) throws Exception {
stage.setTitle("JavaFX Test"); //타이틀설정
stage.getIcons().add(new Image("/com/tistory/aljjabaegi/test/icon.png")); //아이콘설정
stage.setScene(new Scene(rootNode));
stage.setResizable(false); // 크기 조절 막기
stage.show();
}
위처럼 경로만 잘 맞춰주시면 아이콘이 표출이 되는 것을 확인하실 수 있습니다.
하지만, 이렇게만 적용을 하면 배포시에 경로 관련 문제가 발생할 수 있습니다.
아래와 같이 수정 하시면 됩니다. 이와 함께, 아이콘을 적용하는 다양한 방법도 같이 보세요.
//stage.getIcons().add(new Image("/com/tistory/aljjabaegi/test/icon.png"));
//stage.getIcons().add(new Image(getClass().getResource("/com/tistory/aljjabaegi/test/icon.png").toExternalForm()));
//stage.getIcons().add(new Image(getClass().getResourceAsStream("/com/tistory/aljjabaegi/test/icon.png")));
stage.getIcons().add(new Image(Class.forName("com.tistory.aljjabaegi.test.TestApplication").getResourceAsStream("/com/tistory/aljjabaegi/test/icon.png")));
'Programing > JavaFX' 카테고리의 다른 글
JavaFx scene builder TableView 표출 및 갱신 방법 (1) | 2021.03.26 |
---|---|
JavaFX window 종료(x) 버튼 클릭 시 경고창 띄우는 방법 및 이벤트 처리 (0) | 2019.11.08 |
JavaFX + SceneBuilder TextFlow 스크롤 추가 및 포커스 설정 (0) | 2019.10.29 |
JavaFX Text style 변경 TextArea, TextFrow (0) | 2019.10.28 |
JavaFX UI변경하기, 변경시 주의점. Not on FX application thread (0) | 2019.10.28 |
댓글