2017-10-26 2 views
0

에서 .CSS 또는 .TTF로드 할 수 없습니다 :자바 FX 다음과 같이 내 프로젝트가 구성되어 다른 도서관의 자원

Main.java 

Program1Library.jar

... 
resources 
-font 
--blah1.ttf 
--blah2.ttf 
-css 
--dark1.css 
--dark2.css 

Program1.jar

다른 프로젝트에서 재사용되고 있기 때문에 여러 가지 물건을 라이브러리에 분리했습니다. 이제는 CSS와 글꼴을 구분할 수 있습니다. 문제는 그것이 CSS 또는 글꼴을로드하지 않는다는 것입니다. 경로는 정확하지만 뭔가 잘못되었습니다.

질문 1 : 다른 .JAR에서 CSS/TTF 파일을로드 할 수 있습니까? 현재 .JAR에서 사용 하시겠습니까?

질문 2 : 그렇다면 내 사례를 활용할 수 있습니까? 광산이 효과가없는 것 같습니다.

답변

0

나머지 프로젝트 구조의 모양과 리소스를 참조하는 방법 만 추측 할 수 있습니다. 그래서 라이브러리 소스 폴더에 더미 클래스를 배치하려고 :

src 
-css (package-name) 
--Dummy.java 
resources 
-font 
--blah1.ttf 
--blah2.ttf 
-css 
--dark1.css 
--dark2.css 

을 다음 :

Dummy.class.getResource("dark1.css"); 

나 :

Dummy.class.getResource("/css/dark1.css"); 

을 라이브러리 항아리가 클래스 경로에 있다고 가정

+0

메인에서 아무것도 모을 수 있습니다 .JAR, 내가 얻을 수없는 것은 다른 .JAR 파일 (내 경우에는 라이브러리)입니다. 외부 .JAR에서 파일을 가져 오는 방법은 무엇입니까? –

+1

위의 코드를 주 병에 사용하십시오. 그렇게하면 외부 항아리의 리소스에 액세스 할 수 있습니다. 외부 항아리는 실행되는 동안 "주 병"의 클래스 경로에 있어야합니다. 그런 다음 getResource-method는 외부 jar에 대한 URL과 리소스로 연결되는 내부 구조의 경로를 반환합니다. Dummy-class를 외부 항아리에 추가하면 주 항아리에서 외부 항아리를 쉽게 처리 할 수 ​​있습니다. –

+0

내가 가리키는 곳을 볼 수는 있지만 내 문제는 해결되지 않습니다. 나는 하나의 JAR에서 다른 JAR로 갈 수 있었지만 매우 엉망진창이었습니다. 더 나은 접근 방법을 기대합니다. –