2015-04-05 53 views
0

目前即时处理我的论文工作,并且我正在制作一个组件库javafx如何更改图标.jar导入场景生成器

但即时通讯问题,我希望我可以改变图标,把工具场景建设者导入.jar

+0

而问题是? – ItachiUchiha 2015-04-06 08:43:37

+0

如何将.jar的图标更改为JavaFX Scene Builder 2.0? – 2015-04-06 13:27:02

+0

我想你想更改场景构建器中自定义控件的图标。目前所有的自定义控件都以'?'显示。 – ItachiUchiha 2015-04-06 15:01:43

回答

0

在场景生成器2.0中,来自JAR文件的自定义控件的图标在private LibraryItem makeLibraryItem(Path path)函数中由private Collection<LibraryItem> makeLibraryItems(JarReport jarReport)设置。目前该功能的来源是:

private Collection<LibraryItem> makeLibraryItems(JarReport jarReport) throws IOException { 
    final List<LibraryItem> result = new ArrayList<>(); 
    final URL iconURL = ImageUtils.getNodeIconURL(null); 
    final List<String> excludedItems = library.getFilter(); 

    for (JarReportEntry e : jarReport.getEntries()) { 
     if ((e.getStatus() == JarReportEntry.Status.OK) && e.isNode()) { 
      // We filter out items listed in the excluded list, based on canonical name of the class. 
      final String canonicalName = e.getKlass().getCanonicalName(); 
      if (! excludedItems.contains(canonicalName)) { 
       final String name = e.getKlass().getSimpleName(); 
       final String fxmlText = JarExplorer.makeFxmlText(e.getKlass()); 
       result.add(new LibraryItem(name, UserLibrary.TAG_USER_DEFINED, fxmlText, iconURL, library)); 
      } 
     } 
    } 

    return result; 
} 

正如你可以看到iconURL不是基于你控制的JAR提供任何东西,因此目前无法提供的图标。这需要对场景构建器进行更改(这可以在开源后完成)。

我知道这个问题有点老,但希望这有助于某人。