目前正在完成我的论文工作,我正在制作一个javafx
的组件库。
但我正在处理一个问题,我希望我可以更改导入工具场景构建器的图标.jar
。
答案 0 :(得分:0)
在Scene Builder 2.0中,来自JAR文件的自定义控件图标由private Collection<LibraryItem> makeLibraryItems(JarReport jarReport)
函数中的private LibraryItem makeLibraryItem(Path path)
设置。目前该功能的来源是:
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提供的任何内容,因此目前无法提供图标。这需要更改到Scene Builder(这可以在所有它的开源之后完成)。
我知道这个问题有点老了,但希望这会对某人有所帮助。