2015-02-07 72 views
0

在JavaFX中,你可以使用這樣的事情的JavaFX - 自定義控制加載的樣式表

scene.getStylesheets().addAll(getClass().getResource("/css/background.css").toExternalForm()); 

如果我創建一個自定義的控制,如下面加載樣式表的場景,我可以加載一個樣式表爲控制從該控件中使用。而不是現場?

這是一個基本的控制

public class EventListPane extends VBox { 

    @FXML 
    private ListView<Event> listView; 

    public EventListPane() { 

     FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/EventListPane.fxml")); 
     fxmlLoader.setController(this); 
     fxmlLoader.setRoot(this); 

     // Can i load the stylesheet for this control somewhere here?? 

     try { 
      fxmlLoader.load(); 
     } catch (Exception ex) { 
      Console.Log("Error loading eventListPane"); 
     } 

    } 

} 

回答

1

當然可以。看看我的帖子How to add a CSS stylesheet in FXML,特別是toolbar.css,在我的情況下是通過fxml加載的。

而之前有人再次抱怨我不應該引用內容:您是否真的希望我多次複製/粘貼我的解決方案?我認爲我已經在這裏發佈了引用的評論4次......它總是一個不同的問題(樣式表圖像未加載,devenv中的圖像加載但不是jar文件等),所以不是重複的,而是相同的解決方案。

+1

重複(c&p與鏈接一樣壞)答案意味着重複的問題:-)處理重複問題的方法是關閉它們......反過來:如果您認爲問題不同,您可以指出確切的區別,並從您的其他答案添加一個摘錄,精確地針對該差異。 – kleopatra 2015-02-07 11:22:18

+0

好的,謝謝。下次會做。 – Roland 2015-02-08 08:16:51