Последнее обновление: 24.01.2013
XMLInputFactory ищет свою текущую реализацию имя class в META-INF/services/javax.xml.stream.XMLInputFactory. Если такая запись существует в одной из фляг приложения, запрос к серверу не происходит, потому что ресурс уже доступен от загруженной фляги. Создайте пустой файл META-INF/services/javax.xml.stream.XMLInputFactory и упакуйте его в пределах своего приложения. Средство обнаружения фабрики тогда получит файл, но потому что это - пустой providerId == нуль, который вызывает нейтрализацию к реализации по умолчанию XMLInputFactory на jre bootclasspath.
Взгляд на описание пользовательских компонентов. Установка корня прежде, чем загрузить fxml файл не требовалась. Корень был создан и установлен, если у пользовательского компонента был конструктор по умолчанию. Быть непротиворечивым с документацией setRoot () всегда требуется прежде, чем загрузить fxml файл.
FXMLLoader в состоянии инициализировать список или свойство массива от строкового значения, содержащего',' (запятая) разграниченные маркеры.
<VBox stylesheets="style1.css,style2.css,style3.css"/>
FXMLLoader в состоянии установить список или свойство массива от значения, содержащего строковые маркеры, разграниченные,"," (перечисляют = "a, b, c, d"). Это может разрешить должным образом маркеры, снабженные префиксом, "%" или "\" Что-то вроде этого list_property = "% resource1, %resource2..." или таблицы стилей = "style1.css, @style2.css...", где % является ресурсом, и относительный путь.
Если Вы хотите соединить проводом в событиях в элементы FXML, событие должно прибыть из контроллера или из встроенных сценариев. Это было расширено так, чтобы fxmloader смотрел на пространство имен для обработчика событий.
Как поместить реализацию обработчика событий в пространство имен:
fxmlLoader.getNamespace().put("manualAction", new EventHandler>() {
public void handle(PropertyChangeEvent stringPropertyChangeEvent) {
//handle code here
}
});
Ссылочный обработчик событий в fxml:
<Widget onNameChange="$manualAction"/>