2017-10-23 6 views
0

나는 gradle을 지원하는 다중 모듈 JavaFX 응용 프로그램 (javafx-gradle-plugin 8.8.2)을 실행합니다. 앱을 모두 만들면 문제없이 기본 패키지가 생성되지만 리소스 번들 (예 : 번역)을 포함 할 수 없습니다. Java 코드에서 참조 할 위치와 위치를 알려주십시오.JavaFX 그라디언트 리소스 (번들)

미리 감사드립니다.

답변

1

K, 해결책을 얻었습니다. 희망은 미래에 다른 사람을 도움이 될 것입니다

MainEventContainer.java :

@Override 
public void start(Stage primaryStage) throws Exception { 
ResourceBundle bundle = ResourceBundle.getBundle("UIResources", new Locale("de")); 
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/event_container.fxml"), bundle); 
Parent root = fxmlLoader.load(); 
EventContainerController controller = fxmlLoader.getController(); 

System.out.println(bundle.getString("greeting")); 

Scene scene = initScene(primaryStage, root); 

scene.getStylesheets().add("/styles/styles.css"); 

// ... 
} 

UIResources.properties :

greeting=Hello 

UIResources_de.properties :

greeting=Hallo 
,451,515,

스타일/styles.css가 :

.button:hover { 
    -fx-background-color: #81C784; 
} 

event_container.fxml :

<?xml version="1.0" encoding="UTF-8"?> 
<?import javafx.scene.layout.VBox?> 
<VBox fx:id="root" alignment="CENTER" prefHeight="300.0" prefWidth="500.0" 
     xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" 
     fx:controller="com.kjtech.EventContainerController"> 
    ... 
</VBox> 

프로젝트 구조 :

proj-struc

그라데이션 부분은 here 문서를 따르십시오.

질문이 있으시면 언제든지 문의하십시오.

+1

그냥 언급하자면 : 이것은 javafx-gradle-plugin과 관련이 없습니다 (내가 볼 수있는 한). * 면책 조항 : * 나는 그 플러그인을 만든 사람입니다. – FibreFoX

+1

나는 알고있다 :) 당신이 제공하는 정말 훌륭한 작품. 정말 고맙습니다. 위로 2014 년에 나는 app-icon으로 JavaFX 응용 프로그램을 제공하는 것이 가장 쉬운 작업이 아니라는 것을 이해할 때까지 많은 고통스러운 시간을 보냈습니다. 귀하의 플러그인은 번거 로움없이 작업을 수행합니다. 당신에게 명성! –

+0

... 내가 플러그인에 대해 쓴 이유는 프로젝트 구조가 "default IntelliJ Application"구성과 비교하여 gradle/maven에서 다른 것처럼 보였기 때문입니다. - 그리고 나는 자원을 포장하는 과정도 다르다고 생각한다. (하지만 아마도 나는 틀렸다 ...) –

관련 문제