2017-10-23 5 views
1

나는 scenebuilder에서 modena 고 대비 테마가 있음을 발견했습니다.javafx - 고 대비 테마를 올바르게 사용하는 방법은 무엇입니까?

제대로 사용하려면 어떻게해야합니까? 크로스 플랫폼 또는 구현 방식을 의미합니다.

jfxrt.jar \ com \ sun \ javafx \ scene \ control \ skin \ modena에있는 Oracle 구현의 jfxrt.jar 안에 yellowOnBlack.css 및 whiteOnBlack.css가 있다는 것을 발견했습니다.

CSS를 복사하거나 특정 구현 경로를 참조하지 않고 어떻게 적용합니까?

감사합니다.

+0

'Application.setUserAgentStylesheet()'를 사용하여 url을 지정하지 않고 프로그래밍 방식으로 변경하는 방법은'STYLESHEET_CASPIAN' 및'STYLESHEET_MODENA'와 같은'Application' 클래스에서 상수가 아니기 때문에 그다지 확실하지 않습니다. 그러나 사용자는 Windows에서 'Alt + Left Shift + Print Screen'을 사용하여 고 대비 테마로 수동 변경할 수 있으므로이 이벤트가 생성되어 해고 될 수 있습니다. 그러나 그 것이 작동하는지 확실하지 않습니다. –

답변

1

this bug report에 따르면이 값은 -Dcom.sun.javafx.highContrastTheme 명령 줄 옵션으로 설정할 수 있습니다. 유효한 값은 yellowOnBlack, whiteOnBlack 또는 blackOnWhite입니다.

e.e. 당신은 내가이 시험하지 않았다

java -Dcom.sun.javafx.highContrastTheme=yellowOnBlack com.example.MyApp 

예를 들어, 사용하여 응용 프로그램을 실행할 수 있습니다,하지만 당신은 아마 확인 속성이 초기 설정되어 있는지 확인해야하지만 System.setProperty(...)를 통해 프로그래밍 방식으로 설정하는 것이 가능하다 응용 프로그램의 수명주기에 충분할 것입니다 (어쩌면 응용 프로그램 클래스가로드되기 전에).

+0

그것은 작동합니다. 나는 javafx가 이것을 수행하는 더 좋은 방법이라고 생각하지만 현재는 (보이는 것처럼) 작동하는 유일한 해결책이다. –