簡體   English   中英

JavaFX Scene Builder 2.0動態CSS菜單按鈕

[英]JavaFX Scene Builder 2.0 dynamic css menubutton

好的,我已經從oracle下載了IssueTrackerLite源代碼,並弄亂了Scene Builder 2.0fxml 我添加了一個菜單按鈕與fx:id cssTheme的,我希望它做的是,當該程序是檢查目錄和加載所有的CSS文件在目錄到列表中,那么當你選擇一個將更新主題/ css樣式。

我知道有些模糊,但是我迫切需要為幾乎沒有JavaFX經驗的客戶快速學習此知識。

IssueTrackerLite: 在此處下載

我把它放在應用程序開始

    File userPath = new File(System.getProperty("user.dir"));
    for (String s : userPath.list())
        if (s.endsWith(".css")){
            MenuItem mi = new MenuItem(s);
            //using already made menu in my prog
            controller.mnuEdit.getItems().add(mi);
            mi.setOnAction((e)->{
                //always adding and removing from position 1
                //I already have a style sheet set at 0 
                scene.getStylesheets().remove(1);
                try {
                    scene.getStylesheets().add(1,new File(
                            System.getProperty("user.dir")+
                            System.getProperty("file.separator")+s)
                            .toURI().toURL().toExternalForm());
                } catch (MalformedURLException ex) {
                }
            });
        }

以防萬一您沒有對控制器的引用,我像這樣加載我的fxml。

    try {
        FXMLLoader fxmlLoader = new FXMLLoader();
        fxmlLoader.setResources(ResourceBundle.getBundle("myprog/language/Base", Locale.getDefault()));
        rootScene = fxmlLoader.load(this.getClass().getResource("Base.fxml").openStream());
        controller = (BaseController) fxmlLoader.getController();
    } catch (IOException ex) {log.severe(ex.getMessage());}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM