public class Controller {
@FXML
private FlowPane container ;
private List
В качестве варианта этой идеи рассмотрим определение настраиваемого компонента:
public class LabelFlow extends FlowPane {
private List
Теперь в вашем FXML вы выполняете
и в своем контроллере
public class Controller {
@FXML
private LabelFlow labelFlow ;
public void initialize() {
for (Label label : labelFlow.getLabels()) {
// do whatever you need with label....
}
}
}
Если вы действительно хотите определить все эти элементы управления в FXML, что будет кошмаром обслуживания imo, вы может использовать отражение для доступа к переменным. Я не рекомендую это, а не только потому, что его трудно поддерживать, но также потому, что отражение по своей природе подвержено ошибкам (без проверки времени компиляции) и сложным.
Но вы могли бы сделать
public class Controller {
@FXML
private FlowPane container ;
@FXML
private Label label1 ;
@FXML
private Label label2 ;
// ...
@FXML
private Label label1000 ;
private List labels ;
public void initialize() throws Exception {
labels = new ArrayList<>();
for (int i = 1; i <= 1000; i++) {
Field field = getClass().getDeclaredField("label"+i);
boolean wasAccessible = field.isAccessible();
field.setAccessible(true);
Label label = (Label) field.get(this);
field.setAccessible(wasAccessible);
labels.add(label);
}
}
}
Использование org.apache.commons.httpclient.URI не является строго проблемой; то, что является проблемой, - то, что Вы нацелены на неправильного конструктора, который является обесценивается.
Используя всего
new URI( [string] );
действительно отметит его, как обесценивается. То, что необходимо, должно обеспечить в минимуме один дополнительный аргумент (первое, ниже), и идеально два:
escaped: верный, если последовательность символов URI находится в завершенной форме. ложь иначе.
charset: строка набора символов, чтобы сделать кодирование Escape, при необходимости
Это будет предназначаться для необесцениваемого конструктора в том классе. Таким образом, идеальное использование было бы как таково:
new URI( [string], true, StandardCharsets.UTF_8.toString() );
Немного сумасшедший поздно в игре (волосок более чем 11 лет спустя - ей-богу! ), но я надеюсь, что это помогает кому-то еще, особенно если метод в дальнем конце все еще ожидание URI, такой как org.apache.commons.httpclient.setURI().